页面完善

This commit is contained in:
zmj 2023-10-28 18:28:10 +08:00
parent 3840e38cbe
commit 41dc555bd0
28 changed files with 2508 additions and 216 deletions

View File

@ -23,3 +23,23 @@ export const animalChangeListAPI = (data) => syhttp.get('/AnimalBreed/animalChan
// 标记为出栏 // 标记为出栏
// //
export const animalSellAPI = (data) => syhttp.post('/AnimalBreed/animalSell', data) export const animalSellAPI = (data) => syhttp.post('/AnimalBreed/animalSell', data)
// 种植操作列表
export const actionsListAPI = (data) => syhttp.get('/user/actions', data)
// 种植操作详情
export const actionsDetailAPI = (data) => syhttp.get('/user/actionsDetail', data)
// 种植操作详情列表
export const landCropRecordInfoAPI = (data) => syhttp.get('/LandPlant/landCropRecordInfo', data)
// 进行操作
export const addLandCropRecordAPI = (data) => syhttp.post('/AnimalBreed/addAnimalRecord', data)
// 删除操作 delLandCropRecord
export const delLandCropRecordAPI = (data) => syhttp.post('/AnimalBreed/delAnimalRecord', data)
// 编辑
export const ediLandCropRecordAPI = (data) => syhttp.post('/AnimalBreed/ediAnimalRecord', data)
// 生长记录表
export const landCropRecordListAPI = (data) => syhttp.get('/AnimalBreed/animalRecordList', data)
// 搜索
export const animalSearchByCodeAPI = (data) => syhttp.get('/AnimalBreed/animalSearchByCode', data)

View File

@ -17,3 +17,21 @@ export const addFishRecordAPI = (data) => syhttp.post('/FishBreed/addFishRecord'
// //
// export const fishPicListAPI = (data) => syhttp.get('/FishBreed/fishPicList', data) // export const fishPicListAPI = (data) => syhttp.get('/FishBreed/fishPicList', data)
// 种植操作列表
export const actionsListAPI = (data) => syhttp.get('/user/actions', data)
// 种植操作详情
export const actionsDetailAPI = (data) => syhttp.get('/user/actionsDetail', data)
// 种植操作详情列表
export const landCropRecordInfoAPI = (data) => syhttp.get('/FishBreed/fishRecordList', data)
// 进行操作
export const addLandCropRecordAPI = (data) => syhttp.post('/FishBreed/addFishRecord', data)
// 删除操作 delLandCropRecord
export const delLandCropRecordAPI = (data) => syhttp.post('/FishBreed/delFishRecord', data)
// 编辑
export const ediLandCropRecordAPI = (data) => syhttp.post('/FishBreed/ediFishRecord', data)
// 生长记录表
export const landCropRecordListAPI = (data) => syhttp.get('/FishBreed/fishRecordList', data)
// 搜索
// export const animalSearchByCodeAPI = (data) => syhttp.get('/PoultryBreed/poultrySearchByCode', data)

View File

@ -20,4 +20,27 @@ export const addAnimalPicAPI = (data) => syhttp.post('/PoultryBreed/addPoultryPi
export const poultryInfoAPI = (data) => syhttp.get('/PoultryBreed/poultryInfo', data) export const poultryInfoAPI = (data) => syhttp.get('/PoultryBreed/poultryInfo', data)
// 更新状态 // 更新状态
export const poultryStatusAPI = (data) => syhttp.post('/PoultryBreed/poultryStatus', data) export const poultryStatusAPI = (data) => syhttp.post('/PoultryBreed/poultryStatus', data)
// 种植操作列表
// export const actionsListAPI = (data) => syhttp.get('/user/actions', data)
// 种植操作详情
// export const actionsDetailAPI = (data) => syhttp.get('/user/actionsDetail', data)
// /api/PoultryBreed/poultryPicList // /api/PoultryBreed/poultryPicList
// 种植操作列表
export const actionsListAPI = (data) => syhttp.get('/user/actions', data)
// 种植操作详情
export const actionsDetailAPI = (data) => syhttp.get('/user/actionsDetail', data)
// 种植操作详情列表
export const landCropRecordInfoAPI = (data) => syhttp.get('/PoultryBreed/poultryRecordInfo', data)
// 进行操作
export const addLandCropRecordAPI = (data) => syhttp.post('/PoultryBreed/addPoultryRecord', data)
// 删除操作 delLandCropRecord
export const delLandCropRecordAPI = (data) => syhttp.post('/PoultryBreed/delPoultryRecord', data)
// 编辑
export const ediLandCropRecordAPI = (data) => syhttp.post('/PoultryBreed/ediPoultryRecord', data)
// 生长记录表
export const landCropRecordListAPI = (data) => syhttp.get('/PoultryBreed/poultryRecordList', data)
// 搜索
export const animalSearchByCodeAPI = (data) => syhttp.get('/PoultryBreed/poultrySearchByCode', data)

View File

@ -10,8 +10,7 @@ export const landInfoAPI = (data) => syhttp.get('/LandPlant/landInfo', data)
export const AddlandInfoAPI = (data) => syhttp.post('/LandPlant/addLandCrop', data) export const AddlandInfoAPI = (data) => syhttp.post('/LandPlant/addLandCrop', data)
// 添加土地详情 // 添加土地详情
export const addLandCropPicAPI = (data) => syhttp.post('/LandPlant/addLandCropPic', data) export const addLandCropPicAPI = (data) => syhttp.post('/LandPlant/addLandCropPic', data)
// 生长记录表
export const landCropRecordListAPI = (data) => syhttp.get('/LandPlant/landCropRecordList', data)
// 实时监测记录 // 实时监测记录
export const landEnvDataCurrAPI = (data) => syhttp.get('/LandPlant/landEnvDataCurr', data) export const landEnvDataCurrAPI = (data) => syhttp.get('/LandPlant/landEnvDataCurr', data)
// 标记为成熟 // 标记为成熟
@ -26,3 +25,11 @@ export const actionsDetailAPI = (data) => syhttp.get('/user/actionsDetail', data
export const landCropRecordInfoAPI = (data) => syhttp.get('/LandPlant/landCropRecordInfo', data) export const landCropRecordInfoAPI = (data) => syhttp.get('/LandPlant/landCropRecordInfo', data)
// 检测数据表 // 检测数据表
export const landEnvDataChartAPI = (data) => syhttp.get('/LandPlant/landEnvDataChart', data) export const landEnvDataChartAPI = (data) => syhttp.get('/LandPlant/landEnvDataChart', data)
// 进行操作
export const addLandCropRecordAPI = (data) => syhttp.post('/LandPlant/addLandCropRecord', data)
// 删除操作 delLandCropRecord
export const delLandCropRecordAPI = (data) => syhttp.post('/LandPlant/delLandCropRecord', data)
// 编辑
export const ediLandCropRecordAPI = (data) => syhttp.post('/LandPlant/ediLandCropRecord', data)
// 生长记录表
export const landCropRecordListAPI = (data) => syhttp.get('/LandPlant/landCropRecordList', data)

View File

@ -1,6 +1,7 @@
<template> <template>
<view class="card"> <view class="card">
<!-- {{}} -->
<view class="card-li tit"> <view class="card-li tit">
<view class=""> <view class="">
土地 土地
@ -110,7 +111,7 @@
const showDatePicker = ref(false) const showDatePicker = ref(false)
const formData = reactive({ const formData = reactive({
user_id: userInfo.user_id, user_id: userInfo.userInfo.id,
land_id: "", land_id: "",
crop_name: "", crop_name: "",
crop_variety: "", crop_variety: "",

View File

@ -78,6 +78,18 @@
reactive, reactive,
watch watch
} from "vue" } from "vue"
import {
onShow
} from "@dcloudio/uni-app"
onShow(() => {
if (props?.id) {
animalInfoAPI({
animal_id: Number(props.id)
}).then(res => {
objFn(res.data, animal_detail)
})
}
})
const dateFn = () => { const dateFn = () => {
var today = new Date(); var today = new Date();

View File

@ -34,7 +34,12 @@
<view class=""> <view class="">
具体种类: {{userInfo.animal_detail.breed[0]}} 具体种类: {{userInfo.animal_detail.breed[0]}}
</view> </view>
</view>
<view class="card-li">
<view class="">
地址: {{userInfo.area_name}}{{userInfo.street_name}}{{userInfo.village_name}}{{userInfo.brigade_name}}
</view>
</view> </view>
</view> </view>
</template> </template>

View File

@ -91,7 +91,7 @@
<view class=""> <view class="">
{{index}} {{index}}
</view> </view>
<view class="updata-btn" @click="navgo('/pages/growRecord/index?type=2')"> <view class="updata-btn" @click="navgo('/pages/growRecord/chick?type=2')">
更新{{index.slice(0,-2)}} 更新{{index.slice(0,-2)}}
</view> </view>
</view> </view>
@ -234,7 +234,7 @@
res.data.forEach(item => { res.data.forEach(item => {
animalList.push(item) animalList.push(item)
}) })
console.log(animalList) // console.log(animalList)
}) })
animalEnvDataAPI({ animalEnvDataAPI({
user_id: 307 user_id: 307

View File

@ -88,7 +88,7 @@
<view class=""> <view class="">
{{index}} {{index}}
</view> </view>
<view class="updata-btn" @click="navgo('/pages/growRecord/index?type=3')"> <view class="updata-btn" @click="navgo('/pages/growRecord/feedIng?type=3')">
更新{{index.slice(0,-2)}} 更新{{index.slice(0,-2)}}
</view> </view>
</view> </view>

View File

@ -12,16 +12,26 @@
<!-- <uni-td>{(item.create_time).slice(5,11)}}</uni-td> --> <!-- <uni-td>{(item.create_time).slice(5,11)}}</uni-td> -->
<uni-td>5,11</uni-td> <uni-td>5,11</uni-td>
<uni-td style="text-align: center;">{{item.action_name}}</uni-td> <uni-td style="text-align: center;">{{item.action_name}}</uni-td>
<uni-td v-if="item.img"> <u--image src="/static/img/GJ.jpg" width="100%" height="210.28rpx"
alt=""></u--image></uni-td>
<!-- <uni-td v-else> {{objFn()}}</uni-td> --> <!-- <uni-td v-else> {{objFn()}}</uni-td> -->
<uni-td v-else> <uni-td>
<!-- <view class="" v-for="item in objFn(item.action_content)"> <!-- <view class="" v-for="item in objFn(item.action_content)">
{{item[0]}}:{{item[1]}} {{item[0]}}:{{item[1]}}
</view> --> </view> -->
<view class="" v-for="(items,indexs) in objFn(item.action_content)"> <view class="" v-for="(items,indexs) in objFn(item.action_content)" :key="indexs">
<view class="" v-if="indexs=='pic'">
{{items.tit}}: <u--image :src="items.value" width="100%" height="210.28rpx"
alt=""></u--image>
</view>
<view style="margin-top: 10rpx;" v-if="indexs !='pic' && items.tit">
<!-- {{indexs}} -->
{{items.tit}}: {{items.value}}
</view>
<!-- {{index}} :{{ item}} --> <!-- {{index}} :{{ item}} -->
{{indexs}} : {{items}} <!-- {{indexs}} : {{items}} -->
<!-- {{items}} -->
<!-- {{indexs}} -->
</view> </view>
@ -57,8 +67,11 @@
}) })
} }
const objFn = (obj) => { const objFn = (obj) => {
if (typeof(obj) == 'object') {
return obj
} else {
return JSON.parse(obj) return JSON.parse(obj)
}
// if (typeof(obj) == 'object') { // if (typeof(obj) == 'object') {
// for (const [key, value] of Object.entries((obj))) { // for (const [key, value] of Object.entries((obj))) {
// console.log((`${key}: ${value}`)) // console.log((`${key}: ${value}`))

View File

@ -49,12 +49,15 @@
} from "@/api/plant.js" } from "@/api/plant.js"
import { import {
reactive, reactive,
watch watch,
defineEmits
} from "vue"; } from "vue";
const props = defineProps({ const props = defineProps({
land_id: String, land_id: String,
is_cropped: Boolean, is_cropped: Boolean,
}) })
const emit = defineEmits(['child-click'])
const land = reactive({}) const land = reactive({})
const objFn = (res, data) => { const objFn = (res, data) => {
for (let key in res) { for (let key in res) {
@ -71,6 +74,9 @@
user_id: 307 user_id: 307
}).then(res => { }).then(res => {
objFn(res.data, land) objFn(res.data, land)
emit('getcropid', {
cropid: res.data.crop_id
})
}) })
} }
}, { }, {

View File

@ -9,7 +9,7 @@
height="28.04rpx"></u--image> height="28.04rpx"></u--image>
<text>刷新时间:{{dateFn()}}</text> <text>刷新时间:{{dateFn()}}</text>
</view> </view>
<view style="display: flex;" @click="navgo(`/pages/feedIng/histroyFeed?id=${props.id}`)"> <view style="display: flex;" @click="navgo(`/pages/poultry/histroyFeed?id=${props.id}`)">
查看历史条件 <u--image src="/static/img/CKGD.png" style="margin-left: 5rpx;" width="31.54rpx" 查看历史条件 <u--image src="/static/img/CKGD.png" style="margin-left: 5rpx;" width="31.54rpx"
height="31.54rpx"></u--image> height="31.54rpx"></u--image>
</view> </view>
@ -78,6 +78,9 @@
reactive, reactive,
watch watch
} from "vue" } from "vue"
import {
onShow
} from "@dcloudio/uni-app"
const dateFn = () => { const dateFn = () => {
var today = new Date(); var today = new Date();
@ -109,7 +112,7 @@
showImg: Boolean showImg: Boolean
}) })
watch(props, (newValue, oldVlaue) => { watch(props, (newValue, oldVlaue) => {
console.log("dfhsdfgsdjk") // console.log("dfhsdfgsdjk")
if (props?.id) { if (props?.id) {
animalInfoAPI({ animalInfoAPI({
poultry_id: Number(props.id) poultry_id: Number(props.id)
@ -121,6 +124,15 @@
// //
immediate: true immediate: true
}) })
onShow(() => {
if (props?.id) {
animalInfoAPI({
poultry_id: Number(props.id)
}).then(res => {
objFn(res.data, animal_detail)
})
}
})
const updateImgFn = () => { const updateImgFn = () => {
uplodeImg().then(res => { uplodeImg().then(res => {
animal_detail.pic_detail.pic = res.data.image animal_detail.pic_detail.pic = res.data.image

View File

@ -35,7 +35,11 @@
<view class=""> <view class="">
具体种类: {{userInfo.poultry_detail.breed[0]}} 具体种类: {{userInfo.poultry_detail.breed[0]}}
</view> </view>
</view>
<view class="card-li">
<view class="">
地址: {{userInfo.area_name}}{{userInfo.street_name}}{{userInfo.village_name}}{{userInfo.brigade_name}}
</view>
</view> </view>
</view> </view>
</template> </template>

View File

@ -1,11 +1,11 @@
{ {
"hash": "615a5b64", "hash": "25035236",
"browserHash": "bf60a751", "browserHash": "1466e902",
"optimized": { "optimized": {
"uview-plus": { "uview-plus": {
"src": "../../uview-plus/index.js", "src": "../../uview-plus/index.js",
"file": "uview-plus.js", "file": "uview-plus.js",
"fileHash": "6e866713", "fileHash": "a0f19e5d",
"needsInterop": false "needsInterop": false
} }
}, },

234
node_modules/.vite/deps/uview-plus.js generated vendored
View File

@ -1,4 +1,4 @@
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/mixin/mixin.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/mixin/mixin.js
var mixin_default = { var mixin_default = {
// 定义每个组件都可能需要用到的外部样式以及类名 // 定义每个组件都可能需要用到的外部样式以及类名
props: { props: {
@ -129,10 +129,10 @@ var mixin_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/mixin/mpMixin.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/mixin/mpMixin.js
var mpMixin_default = {}; var mpMixin_default = {};
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/utils.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/utils.js
var { toString } = Object.prototype; var { toString } = Object.prototype;
function isArray(val) { function isArray(val) {
return toString.call(val) === "[object Array]"; return toString.call(val) === "[object Array]";
@ -188,7 +188,7 @@ function isUndefined(val) {
return typeof val === "undefined"; return typeof val === "undefined";
} }
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/helpers/buildURL.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/helpers/buildURL.js
function encode(val) { function encode(val) {
return encodeURIComponent(val).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]"); return encodeURIComponent(val).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
} }
@ -231,17 +231,17 @@ function buildURL(url2, params) {
return url2; return url2;
} }
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/helpers/isAbsoluteURL.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/helpers/isAbsoluteURL.js
function isAbsoluteURL(url2) { function isAbsoluteURL(url2) {
return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url2); return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url2);
} }
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/helpers/combineURLs.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/helpers/combineURLs.js
function combineURLs(baseURL, relativeURL) { function combineURLs(baseURL, relativeURL) {
return relativeURL ? `${baseURL.replace(/\/+$/, "")}/${relativeURL.replace(/^\/+/, "")}` : baseURL; return relativeURL ? `${baseURL.replace(/\/+$/, "")}/${relativeURL.replace(/^\/+/, "")}` : baseURL;
} }
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/core/buildFullPath.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/core/buildFullPath.js
function buildFullPath(baseURL, requestedURL) { function buildFullPath(baseURL, requestedURL) {
if (baseURL && !isAbsoluteURL(requestedURL)) { if (baseURL && !isAbsoluteURL(requestedURL)) {
return combineURLs(baseURL, requestedURL); return combineURLs(baseURL, requestedURL);
@ -249,7 +249,7 @@ function buildFullPath(baseURL, requestedURL) {
return requestedURL; return requestedURL;
} }
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/core/settle.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/core/settle.js
function settle(resolve, reject, response) { function settle(resolve, reject, response) {
const { validateStatus: validateStatus2 } = response.config; const { validateStatus: validateStatus2 } = response.config;
const status = response.statusCode; const status = response.statusCode;
@ -260,7 +260,7 @@ function settle(resolve, reject, response) {
} }
} }
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/adapters/index.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/adapters/index.js
var mergeKeys = (keys, config2) => { var mergeKeys = (keys, config2) => {
const config = {}; const config = {};
keys.forEach((prop) => { keys.forEach((prop) => {
@ -323,10 +323,10 @@ var adapters_default = (config) => new Promise((resolve, reject) => {
} }
}); });
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/core/dispatchRequest.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/core/dispatchRequest.js
var dispatchRequest_default = (config) => adapters_default(config); var dispatchRequest_default = (config) => adapters_default(config);
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/core/InterceptorManager.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/core/InterceptorManager.js
function InterceptorManager() { function InterceptorManager() {
this.handlers = []; this.handlers = [];
} }
@ -351,7 +351,7 @@ InterceptorManager.prototype.forEach = function forEach2(fn) {
}; };
var InterceptorManager_default = InterceptorManager; var InterceptorManager_default = InterceptorManager;
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/core/mergeConfig.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/core/mergeConfig.js
var mergeKeys2 = (keys, globalsConfig, config2) => { var mergeKeys2 = (keys, globalsConfig, config2) => {
const config = {}; const config = {};
keys.forEach((prop) => { keys.forEach((prop) => {
@ -413,7 +413,7 @@ var mergeConfig_default = (globalsConfig, config2 = {}) => {
return config; return config;
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/core/defaults.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/core/defaults.js
var defaults_default = { var defaults_default = {
baseURL: "", baseURL: "",
header: {}, header: {},
@ -428,7 +428,7 @@ var defaults_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/utils/clone.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/utils/clone.js
var clone = function() { var clone = function() {
"use strict"; "use strict";
function _instanceof(obj, type) { function _instanceof(obj, type) {
@ -625,7 +625,7 @@ var clone = function() {
}(); }();
var clone_default = clone; var clone_default = clone;
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/core/Request.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/core/Request.js
var Request = class { var Request = class {
/** /**
* @param {Object} arg - 全局配置 * @param {Object} arg - 全局配置
@ -763,10 +763,10 @@ var Request = class {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/index.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/luch-request/index.js
var luch_request_default = Request; var luch_request_default = Request;
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/util/route.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/util/route.js
var Router = class { var Router = class {
constructor() { constructor() {
this.config = { this.config = {
@ -866,7 +866,7 @@ var Router = class {
}; };
var route_default = new Router().route; var route_default = new Router().route;
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/function/colorGradient.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/function/colorGradient.js
function colorGradient(startColor = "rgb(0, 0, 0)", endColor = "rgb(255, 255, 255)", step = 10) { function colorGradient(startColor = "rgb(0, 0, 0)", endColor = "rgb(255, 255, 255)", step = 10) {
const startRGB = hexToRgb(startColor, false); const startRGB = hexToRgb(startColor, false);
const startR = startRGB[0]; const startR = startRGB[0];
@ -978,7 +978,7 @@ var colorGradient_default = {
colorToRgba colorToRgba
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/function/test.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/function/test.js
function email(value) { function email(value) {
return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value); return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value);
} }
@ -1152,7 +1152,7 @@ var test_default = {
string string
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/function/debounce.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/function/debounce.js
var timeout = null; var timeout = null;
function debounce(func2, wait = 500, immediate = false) { function debounce(func2, wait = 500, immediate = false) {
if (timeout !== null) if (timeout !== null)
@ -1172,7 +1172,7 @@ function debounce(func2, wait = 500, immediate = false) {
} }
var debounce_default = debounce; var debounce_default = debounce;
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/function/throttle.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/function/throttle.js
var timer; var timer;
var flag; var flag;
function throttle(func2, wait = 500, immediate = true) { function throttle(func2, wait = 500, immediate = true) {
@ -1194,7 +1194,7 @@ function throttle(func2, wait = 500, immediate = true) {
} }
var throttle_default = throttle; var throttle_default = throttle;
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/function/digit.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/function/digit.js
var _boundaryCheckingState = true; var _boundaryCheckingState = true;
function strip(num, precision = 15) { function strip(num, precision = 15) {
return +parseFloat(Number(num).toPrecision(precision)); return +parseFloat(Number(num).toPrecision(precision));
@ -1258,7 +1258,7 @@ function round(num, ratio) {
return result; return result;
} }
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/function/index.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/function/index.js
function range2(min = 0, max = 0, value = 0) { function range2(min = 0, max = 0, value = 0) {
return Math.max(min, Math.min(max, Number(value))); return Math.max(min, Math.min(max, Number(value)));
} }
@ -1732,7 +1732,7 @@ var function_default = {
setConfig setConfig
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/config.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/config.js
var version = "3"; var version = "3";
if (true) { if (true) {
console.log(` console.log(`
@ -1767,7 +1767,7 @@ var config_default = {
unit: "px" unit: "px"
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/actionSheet.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/actionSheet.js
var actionSheet_default = { var actionSheet_default = {
// action-sheet组件 // action-sheet组件
actionSheet: { actionSheet: {
@ -1785,7 +1785,7 @@ var actionSheet_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/album.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/album.js
var album_default = { var album_default = {
// album 组件 // album 组件
album: { album: {
@ -1803,7 +1803,7 @@ var album_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/alert.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/alert.js
var alert_default = { var alert_default = {
// alert警告组件 // alert警告组件
alert: { alert: {
@ -1818,7 +1818,7 @@ var alert_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/avatar.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/avatar.js
var avatar_default = { var avatar_default = {
// avatar 组件 // avatar 组件
avatar: { avatar: {
@ -1839,7 +1839,7 @@ var avatar_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/avatarGroup.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/avatarGroup.js
var avatarGroup_default = { var avatarGroup_default = {
// avatarGroup 组件 // avatarGroup 组件
avatarGroup: { avatarGroup: {
@ -1855,7 +1855,7 @@ var avatarGroup_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/backtop.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/backtop.js
var backtop_default = { var backtop_default = {
// backtop组件 // backtop组件
backtop: { backtop: {
@ -1875,7 +1875,7 @@ var backtop_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/badge.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/badge.js
var badge_default = { var badge_default = {
// 徽标数组件 // 徽标数组件
badge: { badge: {
@ -1895,7 +1895,7 @@ var badge_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/button.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/button.js
var button_default = { var button_default = {
// button组件 // button组件
button: { button: {
@ -1930,7 +1930,7 @@ var button_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/calendar.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/calendar.js
var calendar_default = { var calendar_default = {
// calendar 组件 // calendar 组件
calendar: { calendar: {
@ -1967,7 +1967,7 @@ var calendar_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/carKeyboard.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/carKeyboard.js
var carKeyboard_default = { var carKeyboard_default = {
// 车牌号键盘 // 车牌号键盘
carKeyboard: { carKeyboard: {
@ -1975,7 +1975,7 @@ var carKeyboard_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/cell.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/cell.js
var cell_default = { var cell_default = {
// cell组件的props // cell组件的props
cell: { cell: {
@ -2003,7 +2003,7 @@ var cell_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/cellGroup.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/cellGroup.js
var cellGroup_default = { var cellGroup_default = {
// cell-group组件的props // cell-group组件的props
cellGroup: { cellGroup: {
@ -2013,7 +2013,7 @@ var cellGroup_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/checkbox.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/checkbox.js
var checkbox_default = { var checkbox_default = {
// checkbox组件 // checkbox组件
checkbox: { checkbox: {
@ -2033,7 +2033,7 @@ var checkbox_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/checkboxGroup.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/checkboxGroup.js
var checkboxGroup_default = { var checkboxGroup_default = {
// checkbox-group组件 // checkbox-group组件
checkboxGroup: { checkboxGroup: {
@ -2055,7 +2055,7 @@ var checkboxGroup_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/circleProgress.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/circleProgress.js
var circleProgress_default = { var circleProgress_default = {
// circleProgress 组件 // circleProgress 组件
circleProgress: { circleProgress: {
@ -2063,7 +2063,7 @@ var circleProgress_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/code.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/code.js
var code_default = { var code_default = {
// code 组件 // code 组件
code: { code: {
@ -2076,7 +2076,7 @@ var code_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/codeInput.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/codeInput.js
var codeInput_default = { var codeInput_default = {
// codeInput 组件 // codeInput 组件
codeInput: { codeInput: {
@ -2098,7 +2098,7 @@ var codeInput_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/col.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/col.js
var col_default = { var col_default = {
// col 组件 // col 组件
col: { col: {
@ -2110,7 +2110,7 @@ var col_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/collapse.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/collapse.js
var collapse_default = { var collapse_default = {
// collapse 组件 // collapse 组件
collapse: { collapse: {
@ -2120,7 +2120,7 @@ var collapse_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/collapseItem.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/collapseItem.js
var collapseItem_default = { var collapseItem_default = {
// collapseItem 组件 // collapseItem 组件
collapseItem: { collapseItem: {
@ -2138,7 +2138,7 @@ var collapseItem_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/columnNotice.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/columnNotice.js
var columnNotice_default = { var columnNotice_default = {
// columnNotice 组件 // columnNotice 组件
columnNotice: { columnNotice: {
@ -2155,7 +2155,7 @@ var columnNotice_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/countDown.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/countDown.js
var countDown_default = { var countDown_default = {
// u-count-down 计时器组件 // u-count-down 计时器组件
countDown: { countDown: {
@ -2166,7 +2166,7 @@ var countDown_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/countTo.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/countTo.js
var countTo_default = { var countTo_default = {
// countTo 组件 // countTo 组件
countTo: { countTo: {
@ -2184,7 +2184,7 @@ var countTo_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/datetimePicker.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/datetimePicker.js
var datetimePicker_default = { var datetimePicker_default = {
// datetimePicker 组件 // datetimePicker 组件
datetimePicker: { datetimePicker: {
@ -2213,7 +2213,7 @@ var datetimePicker_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/divider.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/divider.js
var divider_default = { var divider_default = {
// divider组件 // divider组件
divider: { divider: {
@ -2228,7 +2228,7 @@ var divider_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/empty.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/empty.js
var empty_default = { var empty_default = {
// empty组件 // empty组件
empty: { empty: {
@ -2246,7 +2246,7 @@ var empty_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/form.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/form.js
var form_default = { var form_default = {
// form 组件 // form 组件
form: { form: {
@ -2261,7 +2261,7 @@ var form_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/formItem.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/formItem.js
var formItem_default = { var formItem_default = {
// formItem 组件 // formItem 组件
formItem: { formItem: {
@ -2276,7 +2276,7 @@ var formItem_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/gap.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/gap.js
var gap_default = { var gap_default = {
// gap组件 // gap组件
gap: { gap: {
@ -2288,7 +2288,7 @@ var gap_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/grid.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/grid.js
var grid_default = { var grid_default = {
// grid组件 // grid组件
grid: { grid: {
@ -2298,7 +2298,7 @@ var grid_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/gridItem.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/gridItem.js
var gridItem_default = { var gridItem_default = {
// grid-item组件 // grid-item组件
gridItem: { gridItem: {
@ -2307,7 +2307,7 @@ var gridItem_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/icon.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/icon.js
var { var {
color color
} = config_default; } = config_default;
@ -2334,7 +2334,7 @@ var icon_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/image.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/image.js
var image_default = { var image_default = {
// image组件 // image组件
image: { image: {
@ -2357,7 +2357,7 @@ var image_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/indexAnchor.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/indexAnchor.js
var indexAnchor_default = { var indexAnchor_default = {
// indexAnchor 组件 // indexAnchor 组件
indexAnchor: { indexAnchor: {
@ -2369,7 +2369,7 @@ var indexAnchor_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/indexList.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/indexList.js
var indexList_default = { var indexList_default = {
// indexList 组件 // indexList 组件
indexList: { indexList: {
@ -2381,7 +2381,7 @@ var indexList_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/input.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/input.js
var input_default = { var input_default = {
// index 组件 // index 组件
input: { input: {
@ -2422,7 +2422,7 @@ var input_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/keyboard.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/keyboard.js
var keyboard_default = { var keyboard_default = {
// 键盘组件 // 键盘组件
keyboard: { keyboard: {
@ -2445,7 +2445,7 @@ var keyboard_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/line.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/line.js
var line_default = { var line_default = {
// line组件 // line组件
line: { line: {
@ -2458,7 +2458,7 @@ var line_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/lineProgress.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/lineProgress.js
var lineProgress_default = { var lineProgress_default = {
// lineProgress 组件 // lineProgress 组件
lineProgress: { lineProgress: {
@ -2470,7 +2470,7 @@ var lineProgress_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/link.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/link.js
var { var {
color: color2 color: color2
} = config_default; } = config_default;
@ -2487,7 +2487,7 @@ var link_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/list.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/list.js
var list_default = { var list_default = {
// list 组件 // list 组件
list: { list: {
@ -2508,7 +2508,7 @@ var list_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/listItem.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/listItem.js
var listItem_default = { var listItem_default = {
// listItem 组件 // listItem 组件
listItem: { listItem: {
@ -2516,7 +2516,7 @@ var listItem_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/loadingIcon.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/loadingIcon.js
var { var {
color: color3 color: color3
} = config_default; } = config_default;
@ -2537,7 +2537,7 @@ var loadingIcon_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/loadingPage.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/loadingPage.js
var loadingPage_default = { var loadingPage_default = {
// loading-page组件 // loading-page组件
loadingPage: { loadingPage: {
@ -2553,7 +2553,7 @@ var loadingPage_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/loadmore.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/loadmore.js
var loadmore_default = { var loadmore_default = {
// loadmore 组件 // loadmore 组件
loadmore: { loadmore: {
@ -2578,7 +2578,7 @@ var loadmore_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/modal.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/modal.js
var modal_default = { var modal_default = {
// modal 组件 // modal 组件
modal: { modal: {
@ -2601,7 +2601,7 @@ var modal_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/color.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/color.js
var color4 = { var color4 = {
primary: "#3c9cff", primary: "#3c9cff",
info: "#909399", info: "#909399",
@ -2617,7 +2617,7 @@ var color4 = {
}; };
var color_default = color4; var color_default = color4;
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/navbar.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/navbar.js
var navbar_default = { var navbar_default = {
// navbar 组件 // navbar 组件
navbar: { navbar: {
@ -2640,7 +2640,7 @@ var navbar_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/noNetwork.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/noNetwork.js
var noNetwork_default = { var noNetwork_default = {
// noNetwork // noNetwork
noNetwork: { noNetwork: {
@ -2650,7 +2650,7 @@ var noNetwork_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/noticeBar.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/noticeBar.js
var noticeBar_default = { var noticeBar_default = {
// noticeBar // noticeBar
noticeBar: { noticeBar: {
@ -2670,7 +2670,7 @@ var noticeBar_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/notify.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/notify.js
var notify_default = { var notify_default = {
// notify组件 // notify组件
notify: { notify: {
@ -2685,7 +2685,7 @@ var notify_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/numberBox.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/numberBox.js
var numberBox_default = { var numberBox_default = {
// 步进器组件 // 步进器组件
numberBox: { numberBox: {
@ -2713,7 +2713,7 @@ var numberBox_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/numberKeyboard.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/numberKeyboard.js
var numberKeyboard_default = { var numberKeyboard_default = {
// 数字键盘 // 数字键盘
numberKeyboard: { numberKeyboard: {
@ -2723,7 +2723,7 @@ var numberKeyboard_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/overlay.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/overlay.js
var overlay_default = { var overlay_default = {
// overlay组件 // overlay组件
overlay: { overlay: {
@ -2734,7 +2734,7 @@ var overlay_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/parse.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/parse.js
var parse_default = { var parse_default = {
// parse // parse
parse: { parse: {
@ -2749,7 +2749,7 @@ var parse_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/picker.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/picker.js
var picker_default = { var picker_default = {
// picker // picker
picker: { picker: {
@ -2771,7 +2771,7 @@ var picker_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/popup.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/popup.js
var popup_default = { var popup_default = {
// popup组件 // popup组件
popup: { popup: {
@ -2794,7 +2794,7 @@ var popup_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/radio.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/radio.js
var radio_default = { var radio_default = {
// radio组件 // radio组件
radio: { radio: {
@ -2814,7 +2814,7 @@ var radio_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/radioGroup.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/radioGroup.js
var radioGroup_default = { var radioGroup_default = {
// radio-group组件 // radio-group组件
radioGroup: { radioGroup: {
@ -2837,7 +2837,7 @@ var radioGroup_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/rate.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/rate.js
var rate_default = { var rate_default = {
// rate组件 // rate组件
rate: { rate: {
@ -2856,7 +2856,7 @@ var rate_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/readMore.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/readMore.js
var readMore_default = { var readMore_default = {
// readMore // readMore
readMore: { readMore: {
@ -2871,7 +2871,7 @@ var readMore_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/row.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/row.js
var row_default = { var row_default = {
// row // row
row: { row: {
@ -2881,7 +2881,7 @@ var row_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/rowNotice.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/rowNotice.js
var rowNotice_default = { var rowNotice_default = {
// rowNotice // rowNotice
rowNotice: { rowNotice: {
@ -2895,7 +2895,7 @@ var rowNotice_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/scrollList.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/scrollList.js
var scrollList_default = { var scrollList_default = {
// scrollList // scrollList
scrollList: { scrollList: {
@ -2908,7 +2908,7 @@ var scrollList_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/search.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/search.js
var search_default = { var search_default = {
// search // search
search: { search: {
@ -2938,7 +2938,7 @@ var search_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/section.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/section.js
var section_default = { var section_default = {
// u-section组件 // u-section组件
section: { section: {
@ -2955,7 +2955,7 @@ var section_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/skeleton.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/skeleton.js
var skeleton_default = { var skeleton_default = {
// skeleton // skeleton
skeleton: { skeleton: {
@ -2973,7 +2973,7 @@ var skeleton_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/slider.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/slider.js
var slider_default = { var slider_default = {
// slider组件 // slider组件
slider: { slider: {
@ -2992,7 +2992,7 @@ var slider_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/statusBar.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/statusBar.js
var statusBar_default = { var statusBar_default = {
// statusBar // statusBar
statusBar: { statusBar: {
@ -3000,7 +3000,7 @@ var statusBar_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/steps.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/steps.js
var steps_default = { var steps_default = {
// steps组件 // steps组件
steps: { steps: {
@ -3014,7 +3014,7 @@ var steps_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/stepsItem.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/stepsItem.js
var stepsItem_default = { var stepsItem_default = {
// steps-item组件 // steps-item组件
stepsItem: { stepsItem: {
@ -3025,7 +3025,7 @@ var stepsItem_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/sticky.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/sticky.js
var sticky_default = { var sticky_default = {
// sticky组件 // sticky组件
sticky: { sticky: {
@ -3038,7 +3038,7 @@ var sticky_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/subsection.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/subsection.js
var subsection_default = { var subsection_default = {
// subsection组件 // subsection组件
subsection: { subsection: {
@ -3054,7 +3054,7 @@ var subsection_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/swipeAction.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/swipeAction.js
var swipeAction_default = { var swipeAction_default = {
// swipe-action组件 // swipe-action组件
swipeAction: { swipeAction: {
@ -3062,7 +3062,7 @@ var swipeAction_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/swipeActionItem.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/swipeActionItem.js
var swipeActionItem_default = { var swipeActionItem_default = {
// swipeActionItem 组件 // swipeActionItem 组件
swipeActionItem: { swipeActionItem: {
@ -3076,7 +3076,7 @@ var swipeActionItem_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/swiper.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/swiper.js
var swiper_default = { var swiper_default = {
// swiper 组件 // swiper 组件
swiper: { swiper: {
@ -3107,7 +3107,7 @@ var swiper_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/swipterIndicator.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/swipterIndicator.js
var swipterIndicator_default = { var swipterIndicator_default = {
// swiperIndicator 组件 // swiperIndicator 组件
swiperIndicator: { swiperIndicator: {
@ -3119,7 +3119,7 @@ var swipterIndicator_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/switch.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/switch.js
var switch_default = { var switch_default = {
// switch // switch
switch: { switch: {
@ -3136,7 +3136,7 @@ var switch_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/tabbar.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/tabbar.js
var tabbar_default = { var tabbar_default = {
// tabbar // tabbar
tabbar: { tabbar: {
@ -3151,7 +3151,7 @@ var tabbar_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/tabbarItem.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/tabbarItem.js
var tabbarItem_default = { var tabbarItem_default = {
// //
tabbarItem: { tabbarItem: {
@ -3164,7 +3164,7 @@ var tabbarItem_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/tabs.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/tabs.js
var tabs_default = { var tabs_default = {
// //
tabs: { tabs: {
@ -3189,7 +3189,7 @@ var tabs_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/tag.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/tag.js
var tag_default = { var tag_default = {
// tag 组件 // tag 组件
tag: { tag: {
@ -3211,7 +3211,7 @@ var tag_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/text.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/text.js
var text_default = { var text_default = {
// text 组件 // text 组件
text: { text: {
@ -3241,7 +3241,7 @@ var text_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/textarea.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/textarea.js
var textarea_default = { var textarea_default = {
// textarea 组件 // textarea 组件
textarea: { textarea: {
@ -3270,7 +3270,7 @@ var textarea_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/toast.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/toast.js
var toast_default = { var toast_default = {
// toast组件 // toast组件
toast: { toast: {
@ -3293,7 +3293,7 @@ var toast_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/toolbar.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/toolbar.js
var toolbar_default = { var toolbar_default = {
// toolbar 组件 // toolbar 组件
toolbar: { toolbar: {
@ -3306,7 +3306,7 @@ var toolbar_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/tooltip.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/tooltip.js
var tooltip_default = { var tooltip_default = {
// tooltip 组件 // tooltip 组件
tooltip: { tooltip: {
@ -3324,7 +3324,7 @@ var tooltip_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/transition.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/transition.js
var transition_default = { var transition_default = {
// transition动画组件的props // transition动画组件的props
transition: { transition: {
@ -3335,7 +3335,7 @@ var transition_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props/upload.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props/upload.js
var upload_default = { var upload_default = {
// upload组件 // upload组件
upload: { upload: {
@ -3364,7 +3364,7 @@ var upload_default = {
} }
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/props.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/props.js
var { var {
color: color5 color: color5
} = config_default; } = config_default;
@ -3459,7 +3459,7 @@ var props_default = {
...upload_default ...upload_default
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/config/zIndex.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/config/zIndex.js
var zIndex_default = { var zIndex_default = {
toast: 10090, toast: 10090,
noNetwork: 10080, noNetwork: 10080,
@ -3472,13 +3472,13 @@ var zIndex_default = {
indexListSticky: 965 indexListSticky: 965
}; };
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/libs/function/platform.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/libs/function/platform.js
var platform = "none"; var platform = "none";
platform = "vue3"; platform = "vue3";
platform = "h5"; platform = "h5";
var platform_default = platform; var platform_default = platform;
// ../../../../../books/apps/LiHai/TraceabilityAPP/node_modules/uview-plus/index.js // ../../../../zmj/uniapp/TraceabilityAPP/node_modules/uview-plus/index.js
var pleaseSetTranspileDependencies = {}; var pleaseSetTranspileDependencies = {};
var babelTest = pleaseSetTranspileDependencies == null ? void 0 : pleaseSetTranspileDependencies.test; var babelTest = pleaseSetTranspileDependencies == null ? void 0 : pleaseSetTranspileDependencies.test;
var $u = { var $u = {

File diff suppressed because one or more lines are too long

View File

@ -29,6 +29,30 @@
"navigationBarBackgroundColor": "#F4F4F4", "navigationBarBackgroundColor": "#F4F4F4",
"navigationBarTextStyle": "black" "navigationBarTextStyle": "black"
} }
}, {
"path": "pages/growRecord/feedIng",
"style": {
"navigationBarTitleText": "生长记录",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#F4F4F4",
"navigationBarTextStyle": "black"
}
}, {
"path": "pages/growRecord/chick",
"style": {
"navigationBarTitleText": "生长记录",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#F4F4F4",
"navigationBarTextStyle": "black"
}
}, {
"path": "pages/growRecord/fish",
"style": {
"navigationBarTitleText": "生长记录",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#F4F4F4",
"navigationBarTextStyle": "black"
}
}, { }, {
"path": "pages/detail/plant", "path": "pages/detail/plant",
"style": { "style": {

View File

@ -20,7 +20,7 @@
<view class=""> <view class="">
{{index}} {{index}}
</view> </view>
<view class="updata-btn" @click="navgo(`/pages/growRecord/index?type=4&pond_id=${pond_id}`)"> <view class="updata-btn" @click="navgo(`/pages/growRecord/fish?type=4&pond_id=${pond_id}`)">
更新{{index.slice(0,-2)}} 更新{{index.slice(0,-2)}}
</view> </view>
</view> </view>
@ -110,7 +110,8 @@
import imgCard from "@/components/imgCard.vue" import imgCard from "@/components/imgCard.vue"
import pondCard from "@/components/aquatic/pondCard.vue" import pondCard from "@/components/aquatic/pondCard.vue"
import { import {
onLoad onLoad,
onShow
} from "@dcloudio/uni-app" } from "@dcloudio/uni-app"
import uplodeImg from "@/utils/uplodeImg.js" import uplodeImg from "@/utils/uplodeImg.js"
const data = reactive([{ const data = reactive([{
@ -182,6 +183,16 @@
} }
const pond_id = ref(0) const pond_id = ref(0)
const headData = reactive({}) const headData = reactive({})
onShow(() => {
pondInfoAPI({
user_id: 307,
pond_id: pond_id.value
}).then(res => {
for (let key in res.data) {
headData[key] = (res.data)[key]
}
})
})
onLoad((option) => { onLoad((option) => {
pondEnvDataAPI({ pondEnvDataAPI({
user_id: 307 user_id: 307
@ -190,8 +201,6 @@
baseData[key] = (res.data)[key] baseData[key] = (res.data)[key]
} }
}) })
pond_id.value = option.pond_id pond_id.value = option.pond_id
pondInfoAPI({ pondInfoAPI({
user_id: 307, user_id: 307,

View File

@ -13,11 +13,10 @@
</view> </view>
</view> </view>
<view class="up-plant-btn" @click="updateImgFn"> <view class="up-plant-btn" @click="updateImgFn">
上传新的种植情况 上传新的种植情况
<!-- {{crop_id}} -->
</view> </view>
<landInfo :land_id='landDeatil.land_id' @getcropid='getcropidFn'></landInfo>
<landInfo :land_id='landDeatil.land_id'></landInfo>
<!-- 生长记录 --> <!-- 生长记录 -->
<!-- <view class="grow-record-tit"> <!-- <view class="grow-record-tit">
@ -40,12 +39,13 @@
<view class=""> <view class="">
{{index}} {{index}}
</view> </view>
<view class="updata-btn" @click="navgo('/pages/growRecord/index?type=1')"> <view class="updata-btn"
@click="navgo(`/pages/growRecord/index?type=1&crop_id=${crop_id}&land_id=${landDeatil.land_id}`)">
更新{{index.slice(0,-2)}} 更新{{index.slice(0,-2)}}
</view> </view>
</view> </view>
<myTable :tit='`查看${index.slice(0,-2)}`' :dataList="item.action_record" <myTable :tit='`查看${index.slice(0,-2)}`' :dataList="item.action_record"
:route='`/pages/records/index?land_id=${landDeatil.land_id}`'> :route='`/pages/records/index?land_id=${landDeatil.land_id}&crop_id=${crop_id}`'>
</myTable> </myTable>
</view> </view>
@ -167,7 +167,8 @@
addLandCropPicAPI, addLandCropPicAPI,
landCropRecordListAPI, landCropRecordListAPI,
landEnvDataCurrAPI, landEnvDataCurrAPI,
setLandCropRipeAPI setLandCropRipeAPI,
ediLandCropRecordAPI
} from "@/api/plant.js" } from "@/api/plant.js"
import myTable from "@/components/myTable/index.vue" import myTable from "@/components/myTable/index.vue"
import imgCard from "@/components/imgCard.vue" import imgCard from "@/components/imgCard.vue"
@ -181,7 +182,8 @@
reactive reactive
} from "vue" } from "vue"
import { import {
onLoad onLoad,
onShow
} from "@dcloudio/uni-app" } from "@dcloudio/uni-app"
const crop_yield = ref("") const crop_yield = ref("")
const showPop = ref(false) const showPop = ref(false)
@ -219,8 +221,20 @@
], ) ], )
const baseData = reactive({}) const baseData = reactive({})
const crop_id = ref(0)
const getcropidFn = (e) => {
crop_id.value = e.cropid
}
onShow(async () => {
let res = await landInfoAPI({
user_id: 307,
land_id: land_id.value
})
objFn(res.data, landDeatil)
})
const land_id = ref(0)
onLoad(async (options) => { onLoad(async (options) => {
land_id.value = options.land_id
let res = await landInfoAPI({ let res = await landInfoAPI({
user_id: 307, user_id: 307,
land_id: options.land_id land_id: options.land_id

View File

@ -14,6 +14,14 @@
<up-input placeholder="请输入品种" border="surround" v-model="formData.kind"></up-input> <up-input placeholder="请输入品种" border="surround" v-model="formData.kind"></up-input>
</view> </view>
</view> </view>
<view class="card-li">
<view class="card-li-tit">
动物编码
</view>
<view class="">
<up-input placeholder="请输入品种" border="surround" v-model="formData.code"></up-input>
</view>
</view>
<view class="card-li"> <view class="card-li">
<view class="card-li-tit"> <view class="card-li-tit">
具体品类 具体品类
@ -32,7 +40,7 @@
</view> </view>
<view class="card-li"> <view class="card-li">
<view class="select"> <view class="select">
养殖类型: <up-input @tap="selectFoucsFn" readonly placeholder="请选择" style="margin-top: 20rpx;" 养殖类型: <up-input @click="selectFoucsFn" placeholder="请选择" style="margin-top: 20rpx;"
border="surround" v-model="gender"> border="surround" v-model="gender">
</up-input> </up-input>
<view class="JT" :class="{actJT:selectAct}"> <view class="JT" :class="{actJT:selectAct}">
@ -110,8 +118,7 @@
import uplodeImg from "@/utils/uplodeImg.js" import uplodeImg from "@/utils/uplodeImg.js"
import { import {
addAnimalAPI, addAnimalAPI,
} from "@/api/animal.js"
} from "@/api/chick.js"
const navgo = () => { const navgo = () => {
uni.navigateTo({ uni.navigateTo({
url: "/pages/index/index" url: "/pages/index/index"
@ -174,7 +181,8 @@
age: "", age: "",
status: 1, status: 1,
weight: "", weight: "",
pic: "" pic: "",
code: ""
}) })
const objFn = (res, obj) => { const objFn = (res, obj) => {
for (let key in res) { for (let key in res) {

View File

@ -90,11 +90,12 @@
</view> </view>
</view> </view>
</view> </view>
<imgCard :imgUrl='baseData?.pic_detail?.pic'></imgCard>
<view class="up-plant-btn" @tap="updataStatusFn"> <view class="up-plant-btn" @tap="updataStatusFn">
确认更新 确认更新
</view> </view>
<imgCard :imgUrl='baseData?.pic_detail?.pic' @click="uplodeImgFn"></imgCard>
</view> </view>
<view class="circumstance" v-for="(item,index) in actionList" :key="index"> <view class="circumstance" v-for="(item,index) in actionList" :key="index">
@ -115,12 +116,16 @@
</view> </view>
</view> </view>
<!-- 组件 -->
<u-modal :show="showModel" :showCancelButton="true" @confirm="confirmFn" @cancel="cancelFn" title="提示"
content='确认出栏吗?'></u-modal>
</template> </template>
<script setup> <script setup>
import farmersCard from "@/components/animal/farmersCard.vue" import farmersCard from "@/components/animal/farmersCard.vue"
import imgCard from "@/components/imgCard.vue" import imgCard from "@/components/imgCard.vue"
import myTable from "@/components/myTable/index.vue" import myTable from "@/components/myTable/index.vue"
import uplodeImg from "@/utils/uplodeImg.js"
import { import {
onLoad onLoad
} from "@dcloudio/uni-app" } from "@dcloudio/uni-app"
@ -132,12 +137,15 @@
animalInfoAPI, animalInfoAPI,
animalStatusAPI, animalStatusAPI,
animalChangeListAPI, animalChangeListAPI,
animalSellAPI animalSellAPI,
addAnimalPicAPI
} from "@/api/animal.js" } from "@/api/animal.js"
// import
import { import {
actionsAPI actionsAPI
} from "@/api/animal.js" } from "@/api/animal.js"
const showModel = ref(false)
const selectList = reactive([ const selectList = reactive([
"健康", "怀孕中", "生病隔离中", "可出栏" "健康", "怀孕中", "生病隔离中", "可出栏"
]) ])
@ -198,7 +206,20 @@
}) })
}) })
} }
const outBar = () => { const uplodeImgFn = () => {
uplodeImg().then(res => {
// console.log(res.data.image)
baseData.pic_detail.pic = res.data.image
addAnimalPicAPI({
animal_id: animal_id.value,
pic: res.data.image
})
})
}
const cancelFn = () => {
showModel.value = false
}
const confirmFn = () => {
animalSellAPI({ animalSellAPI({
animal_id: animal_id.value, animal_id: animal_id.value,
}).then(res => { }).then(res => {
@ -213,6 +234,9 @@
}, 2000) }, 2000)
}) })
} }
const outBar = () => {
showModel.value = true
}
// animalChangeListAPI({ // animalChangeListAPI({
// animal_id: animal_id // animal_id: animal_id
// }).then(res => { // }).then(res => {

647
pages/growRecord/chick.vue Normal file
View File

@ -0,0 +1,647 @@
<template>
<view :class="{popupShow:showPop}">
<view class="cont">
<!-- <view class="card">
<view class="tit">
<view class="">
1号土地
</view>
<view class="">
溯源码: 12302
</view>
</view>
<view class="card-li">
<view class="">
当前种植: 土豆
</view>
<view class="">
种植品牌: 的划分等级
</view>
</view>
<view class="card-li">
<view class="">
土地面积: 20
</view>
<view class="">
种子品牌: 的划分等级
</view>
</view>
<view class="card-li">
<view class="">
播种时间: 2020.12.01
</view>
</view>
</view> -->
<landInfo :land_id='land_id'></landInfo>
<view class="operate" v-for="(item,index) in actionData" :key="index">
<view class="tit">
{{index}}
</view>
<view class="card">
<view class="operate-li" style="margin: 20rpx 0;margin-right: 20rpx;" @click="showPopFn(items.id)"
v-for="items,indexs in item.actions" :key='indexs'>
{{items.name}}
</view>
<!-- <view class="operate-li" @tap="navgo('')">
喂食
</view>
<view class="operate-li" @tap="navgo('/pages/feedIng/vaccineInfo')">
注射疫苗
</view>
<view class="operate-li">
胶水dassdd
</view>
<view class="operate-li">
胶水
</view>
<view class="operate-li">
胶水
</view> -->
</view>
<view class="">
</view>
</view>
<view class="fertilize" v-for="(item,index) in actionList" :key="index">
<view class="card" style="padding-bottom: 0;">
<view class="fertilize-tit">
<view class="">
{{item.action_name}}
</view>
<view class="fertilize-tit-r">
<view class="" style="color: red;" @tap="del(item.id)">
删除
</view>
<view style="margin-left: 40rpx;color: #00A15E;" @tap='editFn(item)'>
编辑
</view>
</view>
</view>
<view class="fertilize-li">
<view class="fertilize-li-a" v-for="(items,indexs) in item.action_content" v-show="items.tit"
:key="indexs">
<view class="" v-if="indexs=='pic'">
{{items.tit}}: <text style="color: #3274F9;"
@click="previewImage(items.value)">图片</text>
</view>
<view class="" v-if="indexs=='serch'">
{{items.tit}}: 注射疫苗{{items.list.length}}
</view>
<view class="" v-if="indexs=='text'||indexs=='select'">
{{items.tit}}: {{items.value}}
</view>
</view>
</view>
</view>
</view>
<view class="" style="height: 100px">
</view>
</view>
<view class="ripe-btn">
完成今日操作
</view>
<!-- 组件 -->
<view class="">
<u-popup :show="showPop" :round="10" :closeable='true' @close="popCloseFn" @open="showPop=true">
<scroll-view scroll-y style="max-height: 90vh;">
<!-- 滚动内容 -->
<view class="pop-content" v-for="item,index in popList" :key='index'>
<!-- 文本框 -->
<view class="" v-if="item.type==1">
<view class="">
{{item.title}}
</view>
<view class="pop-li">
<up-input placeholder="请输入" border="surround" v-model="formData.text.value"
@change="change1(item.title)"></up-input>
</view>
</view>
<!-- 下拉框 -->
<view class="" v-if="item.type==4">
<view class="">
{{item.title}}
</view>
<view class="pop-li">
<up-input placeholder="点击选择" @change="change2(item.title)" border="surround"
v-model="formData.select.value" @tap="showPicker=true"></up-input>
</view>
</view>
<!-- 上传图片 -->
<view class="" v-if="item.type==2">
<view class="">
{{item.title}}
</view>
<view class="pop-li" @click="updateImgFn(item.title)">
<view v-if="formData.pic.value">
<u--image :src="formData.pic.value" width="100%" height="196.26rpx"></u--image>
</view>
<view class="code-img" v-else>
<view class="carime-icon">
<u--image src="/static/img/DJSC.png" width="91.12rpx"
height="91.12rpx"></u--image>
<view class="">
点击上传图片
</view>
</view>
</view>
</view>
</view>
<!-- 搜索框 -->
<view class="" v-if="item.type==3">
<view class="">
{{item.title}}
</view>
<view class="pop-li">
<up-input placeholder="请输入品种" border="surround" v-model="formData.serch.value"
@change="change4(item.title)"></up-input>
</view>
<view style="margin-bottom: 20rpx;" v-for="(item,index) in serchList" :key="item">
<u-swipe-action>
<u-swipe-action-item :options="options1"
style="border-radius: 20rpx;border: 1px solid #C7C6CD;"
@click="swipeDel(index)">
<view class="" style="padding: 20rpx 30rpx;">
<view class="swipe-action-tit">
<view class="">
编号: {{item.animal_code}}
</view>
<view class="" style="color: #00A15E;" v-if="item.animal_status==1">
健康
</view>
<view class="" style="color: #FFD736;" v-if="item.animal_status==2">
怀孕中
</view>
<view class="" style="color: #3274F9;" v-if="item.animal_status==3">
可出栏
</view>
<view class="" style="color: #3274F9;" v-if="item.animal_status==5">
可出栏
</view>
</view>
<view class="swipe-action-li">
<view class="">
养殖品种:{{item.animal_kind}}
</view>
<view class="">
年龄: {{item.animal_age}}个月
</view>
<view class="">
体重: {{item.animal_weight}}kg
</view>
</view>
</view>
</u-swipe-action-item>
</u-swipe-action>
</view>
</view>
</view>
<view class="pop-confirm" @tap="confirm">
确认
</view>
</scroll-view>
</u-popup>
</view>
<!-- 组件 -->
<u-picker :show="showPicker" :columns="columns" @confirm="confirmFn" @close="showPicker=false"
@cancel="showModal=false"></u-picker>
<u-modal :show="showModal" :showCancelButton='true' :closeOnClickOverlay="true" @close="showModal=false"
content='确认删除吗?' @confirm="delFn" @cancel="showModal=false"></u-modal>
</view>
</template>
<script setup>
import {
ref,
reactive
} from "vue"
import landInfo from "@/components/plant/landInfo.vue"
import {
actionsListAPI,
actionsDetailAPI,
addLandCropRecordAPI,
landCropRecordListAPI,
delLandCropRecordAPI,
ediLandCropRecordAPI,
animalSearchByCodeAPI
} from "@/api/chick.js"
import {
onLoad
} from "@dcloudio/uni-app"
import {
addFishRecordAPI
} from "@/api/aquatic.js"
import uplodeImg from "@/utils/uplodeImg.js"
const serchList = reactive([])
const actionList = reactive([])
const options1 = reactive([{
text: '删除'
}])
const showPicker = ref(false)
const columns = reactive([
['中国', '美国', '日本']
], )
const confirmFn = (e) => {
showPicker.value = false
formData.select.value = e.value[0]
}
const land_id = ref(0)
const pond_id = ref(0)
const crop_id = ref(0)
const type = ref(0)
const actionData = reactive({})
const delIndex = ref(0)
onLoad((options) => {
type.value = options.type
land_id.value = options.land_id
pond_id.value = options.pond_id
crop_id.value = options.crop_id
getAcyionListFn(options.type)
})
const getAcyionListFn = (type) => {
actionList.splice(0, actionList.length)
actionsListAPI({
type: type
}).then(res => {
for (let key in res.data) {
actionData[key] = res.data[key]
actionData[key].action_record.forEach(item => {
item.action_content = JSON.parse(item.action_content)
})
actionList.push(...(res.data[key].action_record))
}
})
}
const showPop = ref(false)
const baseData = reactive({
text: {
value: "",
tit: ""
},
select: {
value: "",
tit: ""
},
pic: {
value: "",
tit: ""
},
serch: {
value: "",
tit: "",
list: [],
},
})
let formData = reactive({
text: {
value: "",
tit: ""
},
select: {
value: "",
tit: ""
},
pic: {
value: "",
tit: ""
},
serch: {
value: "",
tit: "",
list: [],
},
})
// ,true,false
const actionType = ref(false)
const confirm = () => {
showPop.value = false
// console.log(formData)
if (actionType.value) {
addLandCropRecordAPI({
user_id: 307,
action_id: action_id.value,
action_content: JSON.stringify(formData)
}).then(res => {
setPropertiesToNull(formData)
})
} else {
ediLandCropRecordAPI({
record_id: delIndex.value,
action_content: JSON.stringify(formData)
})
}
objFn(baseData, formData)
getAcyionListFn(type.value)
serchList.splice(0, serchList.length)
}
const navgo = (url) => {
uni.navigateTo({
url
})
}
const del = (index) => {
showModal.value = true
delIndex.value = index
}
const showModal = ref(false)
const delFn = () => {
showModal.value = false
delLandCropRecordAPI({
record_id: delIndex.value
}).then(res => {
getAcyionListFn(type.value)
})
}
const editFn = (item) => {
console.log(item)
delIndex.value = item.id
showPopFn(item.action_id)
formData = deepCopy(item.action_content)
if (item.action_content.serch.list.length) {
item.action_content.serch.list.forEach(item => {
animalSearchByCodeAPI({
code: item
}).then(res => {
serchList.push(res.data)
})
})
}
actionType.value = false
}
const popList = reactive([])
const action_id = ref("")
const showPopFn = (id) => {
actionType.value = true
objFn(baseData, formData)
action_id.value = id
popList.splice(0, popList.length)
showPop.value = true
columns[0].splice(0, columns[0].length)
actionsDetailAPI({
action_id: id
}).then(res => {
res.data.forEach(item => {
popList.push(item)
if (item.type == 4) {
columns[0] = item.options.split(',')
// console.log()
}
})
})
}
const updateImgFn = (tit) => {
// const title = tit
change3(tit)
uplodeImg().then(res => {
formData.pic.value = res.data.image
})
}
const previewImage = (src) => {
uni.previewImage({
urls: [src],
})
}
const change1 = (tit) => {
formData.text.tit = tit
}
const change2 = (tit) => {
formData.select.tit = tit
}
const change3 = (tit) => {
formData.pic.tit = tit
}
const change4 = (tit) => {
formData.serch.tit = tit
if (formData.serch.value) {
animalSearchByCodeAPI({
code: formData.serch.value
}).then(res => {
if (res.data.id) {
serchList.push(res.data)
console.log(formData.serch, 54554)
formData.serch.list.push(formData.serch.value)
}
// formData.serch.list.push()
formData.serch.value = ''
})
}
}
function deepCopy(obj) {
if (typeof obj !== 'object' || obj === null) {
return obj;
}
var newObj = Array.isArray(obj) ? [] : {};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
newObj[key] = deepCopy(obj[key]);
}
}
return newObj;
}
const objFn = (res, data) => {
for (let key in res) {
data[key] = res[key]
}
}
const setPropertiesToNull = (obj) => {
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
if (typeof obj[prop] === 'object') {
setPropertiesToNull(obj[prop]);
} else {
obj[prop] = null;
}
}
}
}
const arrFn = (res, data) => {
res.forEach((item, index) => {
data[index] = item
})
}
const popCloseFn = () => {
showPop.value = false
serchList.splice(0, serchList.length)
setPropertiesToNull(formData)
}
const swipeDel = (e) => {
serchList.splice(e, 1);
formData.serch.list.splice(e, 1)
}
</script>
<style lang="scss" scoped>
.cont {
padding-top: 30rpx;
background-color: #F4F4F4;
min-height: 100vh;
}
.card {
.tit {
display: flex;
padding-bottom: 20rpx;
border-bottom: 1px solid #EBF1EF;
}
.card-li {
margin-top: 20rpx;
display: flex;
}
}
.operate {
width: 693.93rpx;
margin: auto;
.tit {
margin: 20rpx 0;
}
.card {
display: flex;
flex-wrap: wrap;
.operate-li {
font-size: 29.79rpx;
padding: 0 60rpx;
background-color: #F4F4F4;
margin-bottom: 28rpx;
height: 63.08rpx;
line-height: 63rpx;
border-radius: 31.54rpx 31.54rpx 31.54rpx 31.54rpx;
}
}
}
.ripe-btn {
position: fixed;
bottom: 50rpx;
left: 50%;
transform: translateX(-50%);
width: 588.79rpx;
height: 84.11rpx;
background-color: #00A15E;
color: white;
display: flex;
justify-content: center;
align-items: center;
margin: 0 auto;
border-radius: 42.06rpx 42.06rpx 42.06rpx 42.06rpx;
background: linear-gradient(to right, #00A15E, #4CC593);
}
.fertilize {
.fertilize-tit {
display: flex;
// justify-self: center;
justify-content: space-between;
padding-bottom: 20rpx;
border-bottom: 1px solid #F4F4F4;
margin-bottom: 20rpx;
.fertilize-tit-r {
display: flex;
}
}
.fertilize-li {
display: flex;
justify-content: space-between;
margin-bottom: 20rpx;
flex-wrap: wrap;
.fertilize-li-a {
margin-bottom: 20rpx;
min-width: 40vw;
}
}
}
.pop-content {
padding: 20rpx;
padding-bottom: 0;
.pop-tit {
margin-bottom: 20rpx;
font-weight: bold;
}
.pop-li {
margin: 20rpx 0;
// margin-bottom: 40rpx;
}
}
.pop-confirm {
width: 693.93rpx;
height: 84.11rpx;
background: linear-gradient(to right, #00A15E, #4CC593);
color: white;
border-radius: 42.06rpx 42.06rpx 42.06rpx 42.06rpx;
text-align: center;
line-height: 84rpx;
margin-top: 70rpx;
margin: 0 auto;
}
.code-img {
background-color: #F4F4F4;
height: 196.26rpx;
position: relative;
.carime-icon {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: flex;
flex-direction: column;
align-items: center;
}
}
.swipe-action-tit {
display: flex;
justify-content: space-between;
border-bottom: 1px solid #F4F4F4;
padding-bottom: 20rpx;
margin-bottom: 20rpx;
}
.swipe-action-li {
display: flex;
justify-content: space-between;
// align-items: ;
}
.popupShow {
// overflow: hidden;
position: fixed;
left: 30rpx;
}
</style>

View File

@ -0,0 +1,647 @@
<template>
<view :class="{popupShow:showPop}">
<view class="cont">
<!-- <view class="card">
<view class="tit">
<view class="">
1号土地
</view>
<view class="">
溯源码: 12302
</view>
</view>
<view class="card-li">
<view class="">
当前种植: 土豆
</view>
<view class="">
种植品牌: 的划分等级
</view>
</view>
<view class="card-li">
<view class="">
土地面积: 20
</view>
<view class="">
种子品牌: 的划分等级
</view>
</view>
<view class="card-li">
<view class="">
播种时间: 2020.12.01
</view>
</view>
</view> -->
<landInfo :land_id='land_id'></landInfo>
<view class="operate" v-for="(item,index) in actionData" :key="index">
<view class="tit">
{{index}}
</view>
<view class="card">
<view class="operate-li" style="margin: 20rpx 0;margin-right: 20rpx;" @click="showPopFn(items.id)"
v-for="items,indexs in item.actions" :key='indexs'>
{{items.name}}
</view>
<!-- <view class="operate-li" @tap="navgo('')">
喂食
</view>
<view class="operate-li" @tap="navgo('/pages/feedIng/vaccineInfo')">
注射疫苗
</view>
<view class="operate-li">
胶水dassdd
</view>
<view class="operate-li">
胶水
</view>
<view class="operate-li">
胶水
</view> -->
</view>
<view class="">
</view>
</view>
<view class="fertilize" v-for="(item,index) in actionList" :key="index">
<view class="card" style="padding-bottom: 0;">
<view class="fertilize-tit">
<view class="">
{{item.action_name}}
</view>
<view class="fertilize-tit-r">
<view class="" style="color: red;" @tap="del(item.id)">
删除
</view>
<view style="margin-left: 40rpx;color: #00A15E;" @tap='editFn(item)'>
编辑
</view>
</view>
</view>
<view class="fertilize-li">
<view class="fertilize-li-a" v-for="(items,indexs) in item.action_content" v-show="items.tit"
:key="indexs">
<view class="" v-if="indexs=='pic'">
{{items.tit}}: <text style="color: #3274F9;"
@click="previewImage(items.value)">图片</text>
</view>
<view class="" v-if="indexs=='serch'">
{{items.tit}}: 注射疫苗{{items.list.length}}
</view>
<view class="" v-if="indexs=='text'||indexs=='select'">
{{items.tit}}: {{items.value}}
</view>
</view>
</view>
</view>
</view>
<view class="" style="height: 100px">
</view>
</view>
<view class="ripe-btn">
完成今日操作
</view>
<!-- 组件 -->
<view class="">
<u-popup :show="showPop" :round="10" :closeable='true' @close="popCloseFn" @open="showPop=true">
<scroll-view scroll-y style="max-height: 90vh;">
<!-- 滚动内容 -->
<view class="pop-content" v-for="item,index in popList" :key='index'>
<!-- 文本框 -->
<view class="" v-if="item.type==1">
<view class="">
{{item.title}}
</view>
<view class="pop-li">
<up-input placeholder="请输入" border="surround" v-model="formData.text.value"
@change="change1(item.title)"></up-input>
</view>
</view>
<!-- 下拉框 -->
<view class="" v-if="item.type==4">
<view class="">
{{item.title}}
</view>
<view class="pop-li">
<up-input placeholder="点击选择" @change="change2(item.title)" border="surround"
v-model="formData.select.value" @tap="showPicker=true"></up-input>
</view>
</view>
<!-- 上传图片 -->
<view class="" v-if="item.type==2">
<view class="">
{{item.title}}
</view>
<view class="pop-li" @click="updateImgFn(item.title)">
<view v-if="formData.pic.value">
<u--image :src="formData.pic.value" width="100%" height="196.26rpx"></u--image>
</view>
<view class="code-img" v-else>
<view class="carime-icon">
<u--image src="/static/img/DJSC.png" width="91.12rpx"
height="91.12rpx"></u--image>
<view class="">
点击上传图片
</view>
</view>
</view>
</view>
</view>
<!-- 搜索框 -->
<view class="" v-if="item.type==3">
<view class="">
{{item.title}}
</view>
<view class="pop-li">
<up-input placeholder="请输入品种" border="surround" v-model="formData.serch.value"
@change="change4(item.title)"></up-input>
</view>
<view style="margin-bottom: 20rpx;" v-for="(item,index) in serchList" :key="item">
<u-swipe-action>
<u-swipe-action-item :options="options1"
style="border-radius: 20rpx;border: 1px solid #C7C6CD;"
@click="swipeDel(index)">
<view class="" style="padding: 20rpx 30rpx;">
<view class="swipe-action-tit">
<view class="">
编号: {{item.animal_code}}
</view>
<view class="" style="color: #00A15E;" v-if="item.animal_status==1">
健康
</view>
<view class="" style="color: #FFD736;" v-if="item.animal_status==2">
怀孕中
</view>
<view class="" style="color: #3274F9;" v-if="item.animal_status==3">
可出栏
</view>
<view class="" style="color: #3274F9;" v-if="item.animal_status==5">
可出栏
</view>
</view>
<view class="swipe-action-li">
<view class="">
养殖品种:{{item.animal_kind}}
</view>
<view class="">
年龄: {{item.animal_age}}个月
</view>
<view class="">
体重: {{item.animal_weight}}kg
</view>
</view>
</view>
</u-swipe-action-item>
</u-swipe-action>
</view>
</view>
</view>
<view class="pop-confirm" @tap="confirm">
确认
</view>
</scroll-view>
</u-popup>
</view>
<!-- 组件 -->
<u-picker :show="showPicker" :columns="columns" @confirm="confirmFn" @close="showPicker=false"
@cancel="showModal=false"></u-picker>
<u-modal :show="showModal" :showCancelButton='true' :closeOnClickOverlay="true" @close="showModal=false"
content='确认删除吗?' @confirm="delFn" @cancel="showModal=false"></u-modal>
</view>
</template>
<script setup>
import {
ref,
reactive
} from "vue"
import landInfo from "@/components/plant/landInfo.vue"
import {
actionsListAPI,
actionsDetailAPI,
addLandCropRecordAPI,
landCropRecordListAPI,
delLandCropRecordAPI,
ediLandCropRecordAPI,
animalSearchByCodeAPI
} from "@/api/animal.js"
import {
onLoad
} from "@dcloudio/uni-app"
import {
addFishRecordAPI
} from "@/api/aquatic.js"
import uplodeImg from "@/utils/uplodeImg.js"
const serchList = reactive([])
const actionList = reactive([])
const options1 = reactive([{
text: '删除'
}])
const showPicker = ref(false)
const columns = reactive([
['中国', '美国', '日本']
], )
const confirmFn = (e) => {
showPicker.value = false
formData.select.value = e.value[0]
}
const land_id = ref(0)
const pond_id = ref(0)
const crop_id = ref(0)
const type = ref(0)
const actionData = reactive({})
const delIndex = ref(0)
onLoad((options) => {
type.value = options.type
land_id.value = options.land_id
pond_id.value = options.pond_id
crop_id.value = options.crop_id
getAcyionListFn(options.type)
})
const getAcyionListFn = (type) => {
actionList.splice(0, actionList.length)
actionsListAPI({
type: type
}).then(res => {
for (let key in res.data) {
actionData[key] = res.data[key]
actionData[key].action_record.forEach(item => {
item.action_content = JSON.parse(item.action_content)
})
actionList.push(...(res.data[key].action_record))
}
})
}
const showPop = ref(false)
const baseData = reactive({
text: {
value: "",
tit: ""
},
select: {
value: "",
tit: ""
},
pic: {
value: "",
tit: ""
},
serch: {
value: "",
tit: "",
list: [],
},
})
let formData = reactive({
text: {
value: "",
tit: ""
},
select: {
value: "",
tit: ""
},
pic: {
value: "",
tit: ""
},
serch: {
value: "",
tit: "",
list: [],
},
})
// ,true,false
const actionType = ref(false)
const confirm = () => {
showPop.value = false
// console.log(formData)
if (actionType.value) {
addLandCropRecordAPI({
user_id: 307,
action_id: action_id.value,
action_content: JSON.stringify(formData)
}).then(res => {
setPropertiesToNull(formData)
})
} else {
ediLandCropRecordAPI({
record_id: delIndex.value,
action_content: JSON.stringify(formData)
})
}
objFn(baseData, formData)
getAcyionListFn(type.value)
serchList.splice(0, serchList.length)
}
const navgo = (url) => {
uni.navigateTo({
url
})
}
const del = (index) => {
showModal.value = true
delIndex.value = index
}
const showModal = ref(false)
const delFn = () => {
showModal.value = false
delLandCropRecordAPI({
record_id: delIndex.value
}).then(res => {
getAcyionListFn(type.value)
})
}
const editFn = (item) => {
console.log(item)
delIndex.value = item.id
showPopFn(item.action_id)
formData = deepCopy(item.action_content)
if (item.action_content.serch.list.length) {
item.action_content.serch.list.forEach(item => {
animalSearchByCodeAPI({
code: item
}).then(res => {
serchList.push(res.data)
})
})
}
actionType.value = false
}
const popList = reactive([])
const action_id = ref("")
const showPopFn = (id) => {
actionType.value = true
objFn(baseData, formData)
action_id.value = id
popList.splice(0, popList.length)
showPop.value = true
columns[0].splice(0, columns[0].length)
actionsDetailAPI({
action_id: id
}).then(res => {
res.data.forEach(item => {
popList.push(item)
if (item.type == 4) {
columns[0] = item.options.split(',')
// console.log()
}
})
})
}
const updateImgFn = (tit) => {
// const title = tit
change3(tit)
uplodeImg().then(res => {
formData.pic.value = res.data.image
})
}
const previewImage = (src) => {
uni.previewImage({
urls: [src],
})
}
const change1 = (tit) => {
formData.text.tit = tit
}
const change2 = (tit) => {
formData.select.tit = tit
}
const change3 = (tit) => {
formData.pic.tit = tit
}
const change4 = (tit) => {
formData.serch.tit = tit
if (formData.serch.value) {
animalSearchByCodeAPI({
code: formData.serch.value
}).then(res => {
if (res.data.id) {
serchList.push(res.data)
console.log(formData.serch, 54554)
formData.serch.list.push(formData.serch.value)
}
// formData.serch.list.push()
formData.serch.value = ''
})
}
}
function deepCopy(obj) {
if (typeof obj !== 'object' || obj === null) {
return obj;
}
var newObj = Array.isArray(obj) ? [] : {};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
newObj[key] = deepCopy(obj[key]);
}
}
return newObj;
}
const objFn = (res, data) => {
for (let key in res) {
data[key] = res[key]
}
}
const setPropertiesToNull = (obj) => {
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
if (typeof obj[prop] === 'object') {
setPropertiesToNull(obj[prop]);
} else {
obj[prop] = null;
}
}
}
}
const arrFn = (res, data) => {
res.forEach((item, index) => {
data[index] = item
})
}
const popCloseFn = () => {
showPop.value = false
serchList.splice(0, serchList.length)
setPropertiesToNull(formData)
}
const swipeDel = (e) => {
serchList.splice(e, 1);
formData.serch.list.splice(e, 1)
}
</script>
<style lang="scss" scoped>
.cont {
padding-top: 30rpx;
background-color: #F4F4F4;
min-height: 100vh;
}
.card {
.tit {
display: flex;
padding-bottom: 20rpx;
border-bottom: 1px solid #EBF1EF;
}
.card-li {
margin-top: 20rpx;
display: flex;
}
}
.operate {
width: 693.93rpx;
margin: auto;
.tit {
margin: 20rpx 0;
}
.card {
display: flex;
flex-wrap: wrap;
.operate-li {
font-size: 29.79rpx;
padding: 0 60rpx;
background-color: #F4F4F4;
margin-bottom: 28rpx;
height: 63.08rpx;
line-height: 63rpx;
border-radius: 31.54rpx 31.54rpx 31.54rpx 31.54rpx;
}
}
}
.ripe-btn {
position: fixed;
bottom: 50rpx;
left: 50%;
transform: translateX(-50%);
width: 588.79rpx;
height: 84.11rpx;
background-color: #00A15E;
color: white;
display: flex;
justify-content: center;
align-items: center;
margin: 0 auto;
border-radius: 42.06rpx 42.06rpx 42.06rpx 42.06rpx;
background: linear-gradient(to right, #00A15E, #4CC593);
}
.fertilize {
.fertilize-tit {
display: flex;
// justify-self: center;
justify-content: space-between;
padding-bottom: 20rpx;
border-bottom: 1px solid #F4F4F4;
margin-bottom: 20rpx;
.fertilize-tit-r {
display: flex;
}
}
.fertilize-li {
display: flex;
justify-content: space-between;
margin-bottom: 20rpx;
flex-wrap: wrap;
.fertilize-li-a {
margin-bottom: 20rpx;
min-width: 40vw;
}
}
}
.pop-content {
padding: 20rpx;
padding-bottom: 0;
.pop-tit {
margin-bottom: 20rpx;
font-weight: bold;
}
.pop-li {
margin: 20rpx 0;
// margin-bottom: 40rpx;
}
}
.pop-confirm {
width: 693.93rpx;
height: 84.11rpx;
background: linear-gradient(to right, #00A15E, #4CC593);
color: white;
border-radius: 42.06rpx 42.06rpx 42.06rpx 42.06rpx;
text-align: center;
line-height: 84rpx;
margin-top: 70rpx;
margin: 0 auto;
}
.code-img {
background-color: #F4F4F4;
height: 196.26rpx;
position: relative;
.carime-icon {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: flex;
flex-direction: column;
align-items: center;
}
}
.swipe-action-tit {
display: flex;
justify-content: space-between;
border-bottom: 1px solid #F4F4F4;
padding-bottom: 20rpx;
margin-bottom: 20rpx;
}
.swipe-action-li {
display: flex;
justify-content: space-between;
// align-items: ;
}
.popupShow {
// overflow: hidden;
position: fixed;
left: 30rpx;
}
</style>

646
pages/growRecord/fish.vue Normal file
View File

@ -0,0 +1,646 @@
<template>
<view :class="{popupShow:showPop}">
<view class="cont">
<!-- <view class="card">
<view class="tit">
<view class="">
1号土地
</view>
<view class="">
溯源码: 12302
</view>
</view>
<view class="card-li">
<view class="">
当前种植: 土豆
</view>
<view class="">
种植品牌: 的划分等级
</view>
</view>
<view class="card-li">
<view class="">
土地面积: 20
</view>
<view class="">
种子品牌: 的划分等级
</view>
</view>
<view class="card-li">
<view class="">
播种时间: 2020.12.01
</view>
</view>
</view> -->
<landInfo :land_id='land_id'></landInfo>
<view class="operate" v-for="(item,index) in actionData" :key="index">
<view class="tit">
{{index}}
</view>
<view class="card">
<view class="operate-li" style="margin: 20rpx 0;margin-right: 20rpx;" @click="showPopFn(items.id)"
v-for="items,indexs in item.actions" :key='indexs'>
{{items.name}}
</view>
<!-- <view class="operate-li" @tap="navgo('')">
喂食
</view>
<view class="operate-li" @tap="navgo('/pages/feedIng/vaccineInfo')">
注射疫苗
</view>
<view class="operate-li">
胶水dassdd
</view>
<view class="operate-li">
胶水
</view>
<view class="operate-li">
胶水
</view> -->
</view>
<view class="">
</view>
</view>
<view class="fertilize" v-for="(item,index) in actionList" :key="index">
<view class="card" style="padding-bottom: 0;">
<view class="fertilize-tit">
<view class="">
{{item.action_name}}
</view>
<view class="fertilize-tit-r">
<view class="" style="color: red;" @tap="del(item.id)">
删除
</view>
<view style="margin-left: 40rpx;color: #00A15E;" @tap='editFn(item)'>
编辑
</view>
</view>
</view>
<view class="fertilize-li">
<view class="fertilize-li-a" v-for="(items,indexs) in item.action_content" v-show="items.tit"
:key="indexs">
<view class="" v-if="indexs=='pic'">
{{items.tit}}: <text style="color: #3274F9;"
@click="previewImage(items.value)">图片</text>
</view>
<view class="" v-if="indexs=='serch'">
{{items.tit}}: 注射疫苗{{items.list.length}}
</view>
<view class="" v-if="indexs=='text'||indexs=='select'">
{{items.tit}}: {{items.value}}
</view>
</view>
</view>
</view>
</view>
<view class="" style="height: 100px">
</view>
</view>
<view class="ripe-btn">
完成今日操作
</view>
<!-- 组件 -->
<view class="">
<u-popup :show="showPop" :round="10" :closeable='true' @close="popCloseFn" @open="showPop=true">
<scroll-view scroll-y style="max-height: 90vh;">
<!-- 滚动内容 -->
<view class="pop-content" v-for="item,index in popList" :key='index'>
<!-- 文本框 -->
<view class="" v-if="item.type==1">
<view class="">
{{item.title}}
</view>
<view class="pop-li">
<up-input placeholder="请输入" border="surround" v-model="formData.text.value"
@change="change1(item.title)"></up-input>
</view>
</view>
<!-- 下拉框 -->
<view class="" v-if="item.type==4">
<view class="">
{{item.title}}
</view>
<view class="pop-li">
<up-input placeholder="点击选择" @change="change2(item.title)" border="surround"
v-model="formData.select.value" @tap="showPicker=true"></up-input>
</view>
</view>
<!-- 上传图片 -->
<view class="" v-if="item.type==2">
<view class="">
{{item.title}}
</view>
<view class="pop-li" @click="updateImgFn(item.title)">
<view v-if="formData.pic.value">
<u--image :src="formData.pic.value" width="100%" height="196.26rpx"></u--image>
</view>
<view class="code-img" v-else>
<view class="carime-icon">
<u--image src="/static/img/DJSC.png" width="91.12rpx"
height="91.12rpx"></u--image>
<view class="">
点击上传图片
</view>
</view>
</view>
</view>
</view>
<!-- 搜索框 -->
<view class="" v-if="item.type==3">
<view class="">
{{item.title}}
</view>
<view class="pop-li">
<up-input placeholder="请输入品种" border="surround" v-model="formData.serch.value"
@change="change4(item.title)"></up-input>
</view>
<view style="margin-bottom: 20rpx;" v-for="(item,index) in serchList" :key="item">
<u-swipe-action>
<u-swipe-action-item :options="options1"
style="border-radius: 20rpx;border: 1px solid #C7C6CD;"
@click="swipeDel(index)">
<view class="" style="padding: 20rpx 30rpx;">
<view class="swipe-action-tit">
<view class="">
编号: {{item.animal_code}}
</view>
<view class="" style="color: #00A15E;" v-if="item.animal_status==1">
健康
</view>
<view class="" style="color: #FFD736;" v-if="item.animal_status==2">
怀孕中
</view>
<view class="" style="color: #3274F9;" v-if="item.animal_status==3">
可出栏
</view>
<view class="" style="color: #3274F9;" v-if="item.animal_status==5">
可出栏
</view>
</view>
<view class="swipe-action-li">
<view class="">
养殖品种:{{item.animal_kind}}
</view>
<view class="">
年龄: {{item.animal_age}}个月
</view>
<view class="">
体重: {{item.animal_weight}}kg
</view>
</view>
</view>
</u-swipe-action-item>
</u-swipe-action>
</view>
</view>
</view>
<view class="pop-confirm" @tap="confirm">
确认
</view>
</scroll-view>
</u-popup>
</view>
<!-- 组件 -->
<u-picker :show="showPicker" :columns="columns" @confirm="confirmFn" @close="showPicker=false"
@cancel="showModal=false"></u-picker>
<u-modal :show="showModal" :showCancelButton='true' :closeOnClickOverlay="true" @close="showModal=false"
content='确认删除吗?' @confirm="delFn" @cancel="showModal=false"></u-modal>
</view>
</template>
<script setup>
import {
ref,
reactive
} from "vue"
import landInfo from "@/components/plant/landInfo.vue"
import {
actionsListAPI,
actionsDetailAPI,
addLandCropRecordAPI,
landCropRecordListAPI,
delLandCropRecordAPI,
ediLandCropRecordAPI,
animalSearchByCodeAPI
} from "@/api/animal.js"
import {
onLoad
} from "@dcloudio/uni-app"
import {
addFishRecordAPI
} from "@/api/aquatic.js"
import uplodeImg from "@/utils/uplodeImg.js"
const serchList = reactive([])
const actionList = reactive([])
const options1 = reactive([{
text: '删除'
}])
const showPicker = ref(false)
const columns = reactive([
['中国', '美国', '日本']
], )
const confirmFn = (e) => {
showPicker.value = false
formData.select.value = e.value[0]
}
const land_id = ref(0)
const pond_id = ref(0)
const crop_id = ref(0)
const type = ref(0)
const actionData = reactive({})
const delIndex = ref(0)
onLoad((options) => {
type.value = options.type
land_id.value = options.land_id
pond_id.value = options.pond_id
crop_id.value = options.crop_id
getAcyionListFn(options.type)
})
const getAcyionListFn = (type) => {
actionList.splice(0, actionList.length)
actionsListAPI({
type: type
}).then(res => {
for (let key in res.data) {
actionData[key] = res.data[key]
actionData[key].action_record.forEach(item => {
item.action_content = JSON.parse(item.action_content)
})
actionList.push(...(res.data[key].action_record))
}
})
}
const showPop = ref(false)
const baseData = reactive({
text: {
value: "",
tit: ""
},
select: {
value: "",
tit: ""
},
pic: {
value: "",
tit: ""
},
serch: {
value: "",
tit: "",
list: [],
},
})
let formData = reactive({
text: {
value: "",
tit: ""
},
select: {
value: "",
tit: ""
},
pic: {
value: "",
tit: ""
},
serch: {
value: "",
tit: "",
list: [],
},
})
// ,true,false
const actionType = ref(false)
const confirm = () => {
showPop.value = false
// console.log(formData)
if (actionType.value) {
addLandCropRecordAPI({
user_id: 307,
action_id: action_id.value,
action_content: JSON.stringify(formData)
}).then(res => {
setPropertiesToNull(formData)
})
} else {
ediLandCropRecordAPI({
record_id: delIndex.value,
action_content: JSON.stringify(formData)
})
}
objFn(baseData, formData)
getAcyionListFn(type.value)
serchList.splice(0, serchList.length)
}
const navgo = (url) => {
uni.navigateTo({
url
})
}
const del = (index) => {
showModal.value = true
delIndex.value = index
}
const showModal = ref(false)
const delFn = () => {
showModal.value = false
delLandCropRecordAPI({
record_id: delIndex.value
}).then(res => {
getAcyionListFn(type.value)
})
}
const editFn = (item) => {
console.log(item)
delIndex.value = item.id
showPopFn(item.action_id)
formData = deepCopy(item.action_content)
if (item.action_content.serch.list.length) {
item.action_content.serch.list.forEach(item => {
animalSearchByCodeAPI({
code: item
}).then(res => {
serchList.push(res.data)
})
})
}
actionType.value = false
}
const popList = reactive([])
const action_id = ref("")
const showPopFn = (id) => {
actionType.value = true
objFn(baseData, formData)
action_id.value = id
popList.splice(0, popList.length)
showPop.value = true
columns[0].splice(0, columns[0].length)
actionsDetailAPI({
action_id: id
}).then(res => {
res.data.forEach(item => {
popList.push(item)
if (item.type == 4) {
columns[0] = item.options.split(',')
// console.log()
}
})
})
}
const updateImgFn = (tit) => {
// const title = tit
change3(tit)
uplodeImg().then(res => {
formData.pic.value = res.data.image
})
}
const previewImage = (src) => {
uni.previewImage({
urls: [src],
})
}
const change1 = (tit) => {
formData.text.tit = tit
}
const change2 = (tit) => {
formData.select.tit = tit
}
const change3 = (tit) => {
formData.pic.tit = tit
}
const change4 = (tit) => {
formData.serch.tit = tit
if (formData.serch.value) {
animalSearchByCodeAPI({
code: formData.serch.value
}).then(res => {
if (res.data.id) {
serchList.push(res.data)
console.log(formData.serch, 54554)
formData.serch.list.push(formData.serch.value)
}
// formData.serch.list.push()
formData.serch.value = ''
})
}
}
function deepCopy(obj) {
if (typeof obj !== 'object' || obj === null) {
return obj;
}
var newObj = Array.isArray(obj) ? [] : {};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
newObj[key] = deepCopy(obj[key]);
}
}
return newObj;
}
const objFn = (res, data) => {
for (let key in res) {
data[key] = res[key]
}
}
const setPropertiesToNull = (obj) => {
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
if (typeof obj[prop] === 'object') {
setPropertiesToNull(obj[prop]);
} else {
obj[prop] = null;
}
}
}
}
const arrFn = (res, data) => {
res.forEach((item, index) => {
data[index] = item
})
}
const popCloseFn = () => {
showPop.value = false
serchList.splice(0, serchList.length)
setPropertiesToNull(formData)
}
const swipeDel = (e) => {
serchList.splice(e, 1);
formData.serch.list.splice(e, 1)
}
</script>
<style lang="scss" scoped>
.cont {
padding-top: 30rpx;
background-color: #F4F4F4;
min-height: 100vh;
}
.card {
.tit {
display: flex;
padding-bottom: 20rpx;
border-bottom: 1px solid #EBF1EF;
}
.card-li {
margin-top: 20rpx;
display: flex;
}
}
.operate {
width: 693.93rpx;
margin: auto;
.tit {
margin: 20rpx 0;
}
.card {
display: flex;
flex-wrap: wrap;
.operate-li {
font-size: 29.79rpx;
padding: 0 60rpx;
background-color: #F4F4F4;
margin-bottom: 28rpx;
height: 63.08rpx;
line-height: 63rpx;
border-radius: 31.54rpx 31.54rpx 31.54rpx 31.54rpx;
}
}
}
.ripe-btn {
position: fixed;
bottom: 50rpx;
left: 50%;
transform: translateX(-50%);
width: 588.79rpx;
height: 84.11rpx;
background-color: #00A15E;
color: white;
display: flex;
justify-content: center;
align-items: center;
margin: 0 auto;
border-radius: 42.06rpx 42.06rpx 42.06rpx 42.06rpx;
background: linear-gradient(to right, #00A15E, #4CC593);
}
.fertilize {
.fertilize-tit {
display: flex;
// justify-self: center;
justify-content: space-between;
padding-bottom: 20rpx;
border-bottom: 1px solid #F4F4F4;
margin-bottom: 20rpx;
.fertilize-tit-r {
display: flex;
}
}
.fertilize-li {
display: flex;
justify-content: space-between;
margin-bottom: 20rpx;
flex-wrap: wrap;
.fertilize-li-a {
margin-bottom: 20rpx;
min-width: 40vw;
}
}
}
.pop-content {
padding: 20rpx;
padding-bottom: 0;
.pop-tit {
margin-bottom: 20rpx;
font-weight: bold;
}
.pop-li {
margin: 20rpx 0;
// margin-bottom: 40rpx;
}
}
.pop-confirm {
width: 693.93rpx;
height: 84.11rpx;
background: linear-gradient(to right, #00A15E, #4CC593);
color: white;
border-radius: 42.06rpx 42.06rpx 42.06rpx 42.06rpx;
text-align: center;
line-height: 84rpx;
margin-top: 70rpx;
margin: 0 auto;
}
.code-img {
background-color: #F4F4F4;
height: 196.26rpx;
position: relative;
.carime-icon {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: flex;
flex-direction: column;
align-items: center;
}
}
.swipe-action-tit {
display: flex;
justify-content: space-between;
border-bottom: 1px solid #F4F4F4;
padding-bottom: 20rpx;
margin-bottom: 20rpx;
}
.swipe-action-li {
display: flex;
justify-content: space-between;
// align-items: ;
}
.popupShow {
// overflow: hidden;
position: fixed;
left: 30rpx;
}
</style>

View File

@ -37,7 +37,6 @@
<landInfo :land_id='land_id'></landInfo> <landInfo :land_id='land_id'></landInfo>
<view class="operate" v-for="(item,index) in actionData" :key="index"> <view class="operate" v-for="(item,index) in actionData" :key="index">
<view class="tit"> <view class="tit">
{{index}} {{index}}
</view> </view>
@ -67,43 +66,51 @@
</view> </view>
</view> </view>
<view class="fertilize"> <view class="fertilize" v-for="(item,index) in actionList" :key="index">
<view class="card"> <view class="card" style="padding-bottom: 0;">
<view class="fertilize-tit"> <view class="fertilize-tit">
<view class=""> <view class="">
施肥 {{item.action_name}}
</view> </view>
<view class="fertilize-tit-r"> <view class="fertilize-tit-r">
<view class="" style="color: red;" @tap="showModal=true"> <view class="" style="color: red;" @tap="del(item.id)">
删除 删除
</view> </view>
<view style="margin-left: 40rpx;color: #00A15E;"> <view style="margin-left: 40rpx;color: #00A15E;" @tap='editFn(item)'>
编辑 编辑
</view> </view>
</view> </view>
</view> </view>
<view class="fertilize-li"> <view class="fertilize-li">
<view class=""> <view class="fertilize-li-a" v-for="(items,indexs) in item.action_content" :key="indexs">
肥料类型: 地生上的飞机 <view class="" v-if="indexs=='pic'">
{{items.tit}}: <text style="color: #3274F9;"
@click="previewImage(items.value)">图片</text>
</view> </view>
<view class=""> <view class="" v-else>
肥料品牌: 地生上的 <view class="" v-if="items.value">
{{items.tit}}: {{items.value}}
</view> </view>
</view> </view>
<view class="fertilize-li">
</view>
</view>
<!-- <view class="fertilize-li">
<view class=""> <view class="">
兑水浓度: 地生上的飞机 兑水浓度: 地生上的飞机
</view> </view>
<view class=""> <view class="">
备注: 地生上的 备注: 地生上的
</view> </view>
</view> </view> -->
</view> </view>
</view> </view>
</view> </view>
<view class="ripe-btn"> <view class="ripe-btn" @click="navgo(`/pages/detail/plant?land_id=${land_id}`)">
完成今日操作 完成今日操作
</view> </view>
<!-- 组件 --> <!-- 组件 -->
@ -118,8 +125,8 @@
{{item.title}} {{item.title}}
</view> </view>
<view class="pop-li"> <view class="pop-li">
<up-input placeholder="请输入" border="surround" v-model="formData.text" <up-input placeholder="请输入" border="surround" v-model="formData.text.value"
@change="change"></up-input> @change="change1(item.title)"></up-input>
</view> </view>
</view> </view>
<!-- 下拉框 --> <!-- 下拉框 -->
@ -128,8 +135,8 @@
{{item.title}} {{item.title}}
</view> </view>
<view class="pop-li"> <view class="pop-li">
<up-input placeholder="点击选择" border="surround" v-model="formData.select" <up-input placeholder="点击选择" @change="change2(item.title)" border="surround"
@tap="showPicker=true"></up-input> v-model="formData.select.value" @tap="showPicker=true"></up-input>
</view> </view>
</view> </view>
<!-- 上传图片 --> <!-- 上传图片 -->
@ -137,9 +144,9 @@
<view class=""> <view class="">
{{item.title}} {{item.title}}
</view> </view>
<view class="pop-li" @click="updateImgFn"> <view class="pop-li" @click="updateImgFn(item.title)">
<view v-if="formData.pic"> <view v-if="formData.pic.value">
<u--image :src="formData.pic" width="100%" height="196.26rpx"></u--image> <u--image :src="formData.pic.value" width="100%" height="196.26rpx"></u--image>
</view> </view>
<view class="code-img" v-else> <view class="code-img" v-else>
<view class="carime-icon"> <view class="carime-icon">
@ -158,7 +165,8 @@
{{item.title}} {{item.title}}
</view> </view>
<view class="pop-li"> <view class="pop-li">
<up-input placeholder="请输入品种" border="surround" v-model="formData.serch"></up-input> <up-input placeholder="请输入品种" border="surround" v-model="formData.serch.value"
@change="change4(item.title)"></up-input>
</view> </view>
<view style="margin-bottom: 20rpx;" v-for="item in [1]" :key="item"> <view style="margin-bottom: 20rpx;" v-for="item in [1]" :key="item">
@ -208,7 +216,7 @@
</view> </view>
<!-- 组件 --> <!-- 组件 -->
<u-picker :show="showPicker" :columns="columns" @confirm="confirmFn" @close="showPicker=false" <u-picker :show="showPicker" :columns="columns" @confirm="confirmFn" @close="showPicker=false"
@cancel="showPicker=false"></u-picker> @cancel="showModal=false"></u-picker>
<u-modal :show="showModal" :showCancelButton='true' :closeOnClickOverlay="true" @close="showModal=false" <u-modal :show="showModal" :showCancelButton='true' :closeOnClickOverlay="true" @close="showModal=false"
content='确认删除吗?' @confirm="delFn" @cancel="showModal=false"></u-modal> content='确认删除吗?' @confirm="delFn" @cancel="showModal=false"></u-modal>
</view> </view>
@ -223,7 +231,11 @@
import landInfo from "@/components/plant/landInfo.vue" import landInfo from "@/components/plant/landInfo.vue"
import { import {
actionsListAPI, actionsListAPI,
actionsDetailAPI actionsDetailAPI,
addLandCropRecordAPI,
landCropRecordListAPI,
delLandCropRecordAPI,
ediLandCropRecordAPI
} from "@/api/plant.js" } from "@/api/plant.js"
import { import {
onLoad onLoad
@ -234,6 +246,7 @@
addFishRecordAPI addFishRecordAPI
} from "@/api/aquatic.js" } from "@/api/aquatic.js"
import uplodeImg from "@/utils/uplodeImg.js" import uplodeImg from "@/utils/uplodeImg.js"
const actionList = reactive([])
const options1 = reactive([{ const options1 = reactive([{
text: '删除' text: '删除'
}]) }])
@ -243,15 +256,26 @@
], ) ], )
const confirmFn = (e) => { const confirmFn = (e) => {
showPicker.value = false showPicker.value = false
formData.select = e.value[0] formData.select.value = e.value[0]
} }
const land_id = ref(0) const land_id = ref(0)
const pond_id = ref(0) const pond_id = ref(0)
const crop_id = ref(0)
const type = ref(0) const type = ref(0)
const actionData = reactive({}) const actionData = reactive({})
const delIndex = ref(0)
onLoad((options) => { onLoad((options) => {
land_id.value = options.land_id land_id.value = options.land_id
pond_id.value = options.pond_id pond_id.value = options.pond_id
crop_id.value = options.crop_id
// landCropRecordListAPI({
// crop_id: crop_id.value
// }).then(res => {
// res.data.forEach(item => {
// actionList.push(item)
// })
// })
getAcyionListFn()
actionsListAPI({ actionsListAPI({
type: options.type type: options.type
}).then(res => { }).then(res => {
@ -260,45 +284,107 @@
} }
}) })
}) })
const showPop = ref(false) const getAcyionListFn = () => {
const formData = reactive({ actionList.splice(0, actionList.length)
text: "", landCropRecordListAPI({
select: "", crop_id: crop_id.value
pic: "", }).then(res => {
serch: "" res.data.forEach(item => {
actionList.push(item)
})
})
}
const showPop = ref(false)
const baseData = reactive({
text: {
value: "",
tit: ""
},
select: {
value: "",
tit: ""
},
pic: {
value: "",
tit: ""
},
serch: {
value: "",
tit: ""
},
})
const formData = reactive({
text: {
value: "",
tit: ""
},
select: {
value: "",
tit: ""
},
pic: {
value: "",
tit: ""
},
serch: {
value: "",
tit: ""
},
})
// ,true,false
const actionType = ref(false)
const confirm = () => {
showPop.value = false
// console.log(formData)
if (actionType.value) {
addLandCropRecordAPI({
crop_id: Number(crop_id.value),
action_id: action_id.value,
action_content: JSON.stringify(formData)
}).then(res => {
getAcyionListFn()
})
} else {
ediLandCropRecordAPI({
record_id: delIndex.value,
action_content: JSON.stringify(formData)
}) })
const confirm = () => {
// addFishRecordAPI({
// })
showPop.value = false
console.log(formData)
for (let key in formData) {
formData[key] = ''
} }
// var key of formData {
// } objFn(baseData, formData)
} }
const navgo = (url) => { const navgo = (url) => {
uni.navigateTo({ uni.navigateTo({
url url
}) })
} }
const del = (index) => {
showModal.value = true
delIndex.value = index
}
const showModal = ref(false) const showModal = ref(false)
const delFn = () => { const delFn = () => {
showModal.value = false showModal.value = false
uni.showToast({ delLandCropRecordAPI({
title: '删除成功', record_id: delIndex.value
icon: 'success', }).then(res => {
duration: 1000 getAcyionListFn()
}) })
} }
const editFn = (item) => {
delIndex.value = item.id
showPopFn(item.action_id)
objFn(item.action_content, formData)
actionType.value = false
}
const popList = reactive([]) const popList = reactive([])
const action_id = ref("")
const showPopFn = (id) => { const showPopFn = (id) => {
actionType.value = true
objFn(baseData, formData)
action_id.value = id
popList.splice(0, popList.length) popList.splice(0, popList.length)
showPop.value = true showPop.value = true
columns[0].splice(0, columns[0].length) columns[0].splice(0, columns[0].length)
@ -308,20 +394,61 @@
res.data.forEach(item => { res.data.forEach(item => {
popList.push(item) popList.push(item)
if (item.type == 4) { if (item.type == 4) {
columns[0] = Array.from(item.options) columns[0] = item.options.split(',')
console.log(columns[0]) // console.log()
} }
}) })
// console.log(popList)
}) })
} }
const updateImgFn = () => { const updateImgFn = (tit) => {
// const title = tit
change3(tit)
uplodeImg().then(res => { uplodeImg().then(res => {
formData.pic = res.data.image formData.pic.value = res.data.image
}) })
} }
const previewImage = (src) => {
uni.previewImage({
urls: [src],
})
}
const change1 = (tit) => {
formData.text.tit = tit
}
const change2 = (tit) => {
formData.select.tit = tit
}
const change3 = (tit) => {
formData.pic.tit = tit
}
const change4 = (tit) => {
formData.serch.tit = tit
}
const objFn = (res, data, clear) => {
// if (clear) {
// for (let key in data) {
// data[key] = ''
// }
// } else {
// for (let key in res) {
// data[key] = res[key]
// }
// }
for (let key in res) {
data[key] = res[key]
}
}
const arrFn = (res, data) => {
res.forEach((item, index) => {
data[index] = item
})
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@ -403,6 +530,12 @@
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin-bottom: 20rpx; margin-bottom: 20rpx;
flex-wrap: wrap;
.fertilize-li-a {
margin-bottom: 20rpx;
min-width: 40vw;
}
} }
} }

View File

@ -55,7 +55,7 @@
</view> </view>
</view> --> </view> -->
<detailCard :id='id'></detailCard> <detailCard :id='id' :showImg='true'></detailCard>
<view class=""> <view class="">
<view class="" style="margin-bottom: 20rpx;"> <view class="" style="margin-bottom: 20rpx;">
饲养记录 饲养记录

View File

@ -48,7 +48,7 @@
<view class="tit" style="margin-bottom: 40rpx;"> <view class="tit" style="margin-bottom: 40rpx;">
历史操作记录 历史操作记录
</view> </view>
<myTable></myTable> <myTable :dataList='dataList'></myTable>
</view> </view>
<view class="btn" @click="navgo(`/pages/growRecord/index?land_id=${land_id}`)"> <view class="btn" @click="navgo(`/pages/growRecord/index?land_id=${land_id}`)">
记录今日操作 记录今日操作
@ -59,7 +59,8 @@
<script setup> <script setup>
import { import {
actionsListAPI, actionsListAPI,
actionsDetailAPI actionsDetailAPI,
landCropRecordListAPI
} from "@/api/plant.js" } from "@/api/plant.js"
import myTable from "@/components/myTable/index.vue" import myTable from "@/components/myTable/index.vue"
import landInfo from "@/components/plant/landInfo.vue" import landInfo from "@/components/plant/landInfo.vue"
@ -67,6 +68,7 @@
onLoad onLoad
} from "@dcloudio/uni-app" } from "@dcloudio/uni-app"
import { import {
reactive,
ref ref
} from "vue" } from "vue"
// actionsListAPI({ // actionsListAPI({
@ -75,13 +77,22 @@
// console.log(res) // console.log(res)
// }) // })
const land_id = ref(0) const land_id = ref(0)
const dataList = reactive({})
onLoad((option) => { onLoad((option) => {
land_id.value = option.land_id land_id.value = option.land_id
landCropRecordListAPI({
crop_id: option.crop_id
}).then(res => {
for (let key in res.data) {
dataList[key] = res.data[key]
}
console.log(dataList)
})
}) })
actionsDetailAPI({ actionsDetailAPI({
action_id: 2 action_id: 2
}).then(res => { }).then(res => {
console.log(res) // console.log(res)
}) })
const navgo = (url) => { const navgo = (url) => {
uni.navigateTo({ uni.navigateTo({

View File

@ -22,6 +22,14 @@ function baseRequest(url, method, data, {
data: method != 'GET' ? data || {} : {}, data: method != 'GET' ? data || {} : {},
params: method == 'GET' ? data : {}, params: method == 'GET' ? data : {},
success: (res) => { success: (res) => {
// console.log(res.data.show, "全局")
if (res.data.show) {
uni.showToast({
title: res.data.msg || '操作成功',
icon: 'success',
})
}
if (noVerify) if (noVerify)
reslove(res.data); reslove(res.data);
else if (res.data.code == -1) { else if (res.data.code == -1) {