页面完善

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 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 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 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
// 种植操作列表
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 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)
// 标记为成熟
@ -26,3 +25,11 @@ export const actionsDetailAPI = (data) => syhttp.get('/user/actionsDetail', data
export const landCropRecordInfoAPI = (data) => syhttp.get('/LandPlant/landCropRecordInfo', 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>
<view class="card">
<!-- {{}} -->
<view class="card-li tit">
<view class="">
土地
@ -110,7 +111,7 @@
const showDatePicker = ref(false)
const formData = reactive({
user_id: userInfo.user_id,
user_id: userInfo.userInfo.id,
land_id: "",
crop_name: "",
crop_variety: "",

View File

@ -78,6 +78,18 @@
reactive,
watch
} 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 = () => {
var today = new Date();

View File

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

View File

@ -91,7 +91,7 @@
<view class="">
{{index}}
</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)}}
</view>
</view>
@ -234,7 +234,7 @@
res.data.forEach(item => {
animalList.push(item)
})
console.log(animalList)
// console.log(animalList)
})
animalEnvDataAPI({
user_id: 307

View File

@ -88,7 +88,7 @@
<view class="">
{{index}}
</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)}}
</view>
</view>

View File

@ -12,16 +12,26 @@
<!-- <uni-td>{(item.create_time).slice(5,11)}}</uni-td> -->
<uni-td>5,11</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>
<uni-td>
<!-- <view class="" v-for="item in objFn(item.action_content)">
{{item[0]}}:{{item[1]}}
</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}} -->
{{indexs}} : {{items}}
<!-- {{indexs}} : {{items}} -->
<!-- {{items}} -->
<!-- {{indexs}} -->
</view>
@ -57,8 +67,11 @@
})
}
const objFn = (obj) => {
if (typeof(obj) == 'object') {
return obj
} else {
return JSON.parse(obj)
}
// if (typeof(obj) == 'object') {
// for (const [key, value] of Object.entries((obj))) {
// console.log((`${key}: ${value}`))

View File

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

View File

@ -9,7 +9,7 @@
height="28.04rpx"></u--image>
<text>刷新时间:{{dateFn()}}</text>
</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"
height="31.54rpx"></u--image>
</view>
@ -78,6 +78,9 @@
reactive,
watch
} from "vue"
import {
onShow
} from "@dcloudio/uni-app"
const dateFn = () => {
var today = new Date();
@ -109,7 +112,7 @@
showImg: Boolean
})
watch(props, (newValue, oldVlaue) => {
console.log("dfhsdfgsdjk")
// console.log("dfhsdfgsdjk")
if (props?.id) {
animalInfoAPI({
poultry_id: Number(props.id)
@ -121,6 +124,15 @@
//
immediate: true
})
onShow(() => {
if (props?.id) {
animalInfoAPI({
poultry_id: Number(props.id)
}).then(res => {
objFn(res.data, animal_detail)
})
}
})
const updateImgFn = () => {
uplodeImg().then(res => {
animal_detail.pic_detail.pic = res.data.image

View File

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

View File

@ -1,11 +1,11 @@
{
"hash": "615a5b64",
"browserHash": "bf60a751",
"hash": "25035236",
"browserHash": "1466e902",
"optimized": {
"uview-plus": {
"src": "../../uview-plus/index.js",
"file": "uview-plus.js",
"fileHash": "6e866713",
"fileHash": "a0f19e5d",
"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 = {
// 定义每个组件都可能需要用到的外部样式以及类名
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 = {};
// ../../../../../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;
function isArray(val) {
return toString.call(val) === "[object Array]";
@ -188,7 +188,7 @@ function isUndefined(val) {
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) {
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;
}
// ../../../../../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) {
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) {
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) {
if (baseURL && !isAbsoluteURL(requestedURL)) {
return combineURLs(baseURL, requestedURL);
@ -249,7 +249,7 @@ function buildFullPath(baseURL, 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) {
const { validateStatus: validateStatus2 } = response.config;
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) => {
const config = {};
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);
// ../../../../../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() {
this.handlers = [];
}
@ -351,7 +351,7 @@ InterceptorManager.prototype.forEach = function forEach2(fn) {
};
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) => {
const config = {};
keys.forEach((prop) => {
@ -413,7 +413,7 @@ var mergeConfig_default = (globalsConfig, config2 = {}) => {
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 = {
baseURL: "",
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() {
"use strict";
function _instanceof(obj, type) {
@ -625,7 +625,7 @@ var clone = function() {
}();
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 {
/**
* @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;
// ../../../../../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 {
constructor() {
this.config = {
@ -866,7 +866,7 @@ var Router = class {
};
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) {
const startRGB = hexToRgb(startColor, false);
const startR = startRGB[0];
@ -978,7 +978,7 @@ var colorGradient_default = {
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) {
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
};
// ../../../../../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;
function debounce(func2, wait = 500, immediate = false) {
if (timeout !== null)
@ -1172,7 +1172,7 @@ function debounce(func2, wait = 500, immediate = false) {
}
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 flag;
function throttle(func2, wait = 500, immediate = true) {
@ -1194,7 +1194,7 @@ function throttle(func2, wait = 500, immediate = true) {
}
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;
function strip(num, precision = 15) {
return +parseFloat(Number(num).toPrecision(precision));
@ -1258,7 +1258,7 @@ function round(num, ratio) {
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) {
return Math.max(min, Math.min(max, Number(value)));
}
@ -1732,7 +1732,7 @@ var function_default = {
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";
if (true) {
console.log(`
@ -1767,7 +1767,7 @@ var config_default = {
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 = {
// action-sheet组件
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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// 徽标数组件
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 = {
// 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 = {
// 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 = {
// 车牌号键盘
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 = {
// cell组件的props
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 = {
// cell-group组件的props
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 = {
// 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 = {
// checkbox-group组件
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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// u-count-down 计时器组件
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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// grid-item组件
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 {
color
} = 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 = {
// 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 = {
// 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 = {
// 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 = {
// index 组件
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 = {
// 键盘组件
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 = {
// 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 = {
// 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 {
color: color2
} = 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 = {
// 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 = {
// 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 {
color: color3
} = 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 = {
// loading-page组件
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 = {
// 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 = {
// 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 = {
primary: "#3c9cff",
info: "#909399",
@ -2617,7 +2617,7 @@ var 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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// 步进器组件
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 = {
// 数字键盘
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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// radio-group组件
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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// u-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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// steps-item组件
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 = {
// 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 = {
// 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 = {
// swipe-action组件
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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
//
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 = {
//
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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// 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 = {
// transition动画组件的props
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 = {
// 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 {
color: color5
} = config_default;
@ -3459,7 +3459,7 @@ var props_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 = {
toast: 10090,
noNetwork: 10080,
@ -3472,13 +3472,13 @@ var zIndex_default = {
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";
platform = "vue3";
platform = "h5";
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 babelTest = pleaseSetTranspileDependencies == null ? void 0 : pleaseSetTranspileDependencies.test;
var $u = {

File diff suppressed because one or more lines are too long

View File

@ -29,6 +29,30 @@
"navigationBarBackgroundColor": "#F4F4F4",
"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",
"style": {

View File

@ -20,7 +20,7 @@
<view class="">
{{index}}
</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)}}
</view>
</view>
@ -110,7 +110,8 @@
import imgCard from "@/components/imgCard.vue"
import pondCard from "@/components/aquatic/pondCard.vue"
import {
onLoad
onLoad,
onShow
} from "@dcloudio/uni-app"
import uplodeImg from "@/utils/uplodeImg.js"
const data = reactive([{
@ -182,6 +183,16 @@
}
const pond_id = ref(0)
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) => {
pondEnvDataAPI({
user_id: 307
@ -190,8 +201,6 @@
baseData[key] = (res.data)[key]
}
})
pond_id.value = option.pond_id
pondInfoAPI({
user_id: 307,

View File

@ -13,11 +13,10 @@
</view>
</view>
<view class="up-plant-btn" @click="updateImgFn">
上传新的种植情况
<!-- {{crop_id}} -->
</view>
<landInfo :land_id='landDeatil.land_id'></landInfo>
<landInfo :land_id='landDeatil.land_id' @getcropid='getcropidFn'></landInfo>
<!-- 生长记录 -->
<!-- <view class="grow-record-tit">
@ -40,12 +39,13 @@
<view class="">
{{index}}
</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)}}
</view>
</view>
<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>
</view>
@ -167,7 +167,8 @@
addLandCropPicAPI,
landCropRecordListAPI,
landEnvDataCurrAPI,
setLandCropRipeAPI
setLandCropRipeAPI,
ediLandCropRecordAPI
} from "@/api/plant.js"
import myTable from "@/components/myTable/index.vue"
import imgCard from "@/components/imgCard.vue"
@ -181,7 +182,8 @@
reactive
} from "vue"
import {
onLoad
onLoad,
onShow
} from "@dcloudio/uni-app"
const crop_yield = ref("")
const showPop = ref(false)
@ -219,8 +221,20 @@
], )
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) => {
land_id.value = options.land_id
let res = await landInfoAPI({
user_id: 307,
land_id: options.land_id

View File

@ -14,6 +14,14 @@
<up-input placeholder="请输入品种" border="surround" v-model="formData.kind"></up-input>
</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-tit">
具体品类
@ -32,7 +40,7 @@
</view>
<view class="card-li">
<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">
</up-input>
<view class="JT" :class="{actJT:selectAct}">
@ -110,8 +118,7 @@
import uplodeImg from "@/utils/uplodeImg.js"
import {
addAnimalAPI,
} from "@/api/chick.js"
} from "@/api/animal.js"
const navgo = () => {
uni.navigateTo({
url: "/pages/index/index"
@ -174,7 +181,8 @@
age: "",
status: 1,
weight: "",
pic: ""
pic: "",
code: ""
})
const objFn = (res, obj) => {
for (let key in res) {

View File

@ -90,11 +90,12 @@
</view>
</view>
</view>
<imgCard :imgUrl='baseData?.pic_detail?.pic'></imgCard>
<view class="up-plant-btn" @tap="updataStatusFn">
确认更新
</view>
<imgCard :imgUrl='baseData?.pic_detail?.pic' @click="uplodeImgFn"></imgCard>
</view>
<view class="circumstance" v-for="(item,index) in actionList" :key="index">
@ -115,12 +116,16 @@
</view>
</view>
<!-- 组件 -->
<u-modal :show="showModel" :showCancelButton="true" @confirm="confirmFn" @cancel="cancelFn" title="提示"
content='确认出栏吗?'></u-modal>
</template>
<script setup>
import farmersCard from "@/components/animal/farmersCard.vue"
import imgCard from "@/components/imgCard.vue"
import myTable from "@/components/myTable/index.vue"
import uplodeImg from "@/utils/uplodeImg.js"
import {
onLoad
} from "@dcloudio/uni-app"
@ -132,12 +137,15 @@
animalInfoAPI,
animalStatusAPI,
animalChangeListAPI,
animalSellAPI
animalSellAPI,
addAnimalPicAPI
} from "@/api/animal.js"
// import
import {
actionsAPI
} from "@/api/animal.js"
const showModel = ref(false)
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({
animal_id: animal_id.value,
}).then(res => {
@ -213,6 +234,9 @@
}, 2000)
})
}
const outBar = () => {
showModel.value = true
}
// animalChangeListAPI({
// animal_id: animal_id
// }).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>
<view class="operate" v-for="(item,index) in actionData" :key="index">
<view class="tit">
{{index}}
</view>
@ -67,43 +66,51 @@
</view>
</view>
<view class="fertilize">
<view class="card">
<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="showModal=true">
<view class="" style="color: red;" @tap="del(item.id)">
删除
</view>
<view style="margin-left: 40rpx;color: #00A15E;">
<view style="margin-left: 40rpx;color: #00A15E;" @tap='editFn(item)'>
编辑
</view>
</view>
</view>
<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 class="">
肥料品牌: 地生上的
<view class="" v-else>
<view class="" v-if="items.value">
{{items.tit}}: {{items.value}}
</view>
</view>
<view class="fertilize-li">
</view>
</view>
<!-- <view class="fertilize-li">
<view class="">
兑水浓度: 地生上的飞机
</view>
<view class="">
备注: 地生上的
</view>
</view>
</view> -->
</view>
</view>
</view>
<view class="ripe-btn">
<view class="ripe-btn" @click="navgo(`/pages/detail/plant?land_id=${land_id}`)">
完成今日操作
</view>
<!-- 组件 -->
@ -118,8 +125,8 @@
{{item.title}}
</view>
<view class="pop-li">
<up-input placeholder="请输入" border="surround" v-model="formData.text"
@change="change"></up-input>
<up-input placeholder="请输入" border="surround" v-model="formData.text.value"
@change="change1(item.title)"></up-input>
</view>
</view>
<!-- 下拉框 -->
@ -128,8 +135,8 @@
{{item.title}}
</view>
<view class="pop-li">
<up-input placeholder="点击选择" border="surround" v-model="formData.select"
@tap="showPicker=true"></up-input>
<up-input placeholder="点击选择" @change="change2(item.title)" border="surround"
v-model="formData.select.value" @tap="showPicker=true"></up-input>
</view>
</view>
<!-- 上传图片 -->
@ -137,9 +144,9 @@
<view class="">
{{item.title}}
</view>
<view class="pop-li" @click="updateImgFn">
<view v-if="formData.pic">
<u--image :src="formData.pic" width="100%" height="196.26rpx"></u--image>
<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">
@ -158,7 +165,8 @@
{{item.title}}
</view>
<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 style="margin-bottom: 20rpx;" v-for="item in [1]" :key="item">
@ -208,7 +216,7 @@
</view>
<!-- 组件 -->
<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"
content='确认删除吗?' @confirm="delFn" @cancel="showModal=false"></u-modal>
</view>
@ -223,7 +231,11 @@
import landInfo from "@/components/plant/landInfo.vue"
import {
actionsListAPI,
actionsDetailAPI
actionsDetailAPI,
addLandCropRecordAPI,
landCropRecordListAPI,
delLandCropRecordAPI,
ediLandCropRecordAPI
} from "@/api/plant.js"
import {
onLoad
@ -234,6 +246,7 @@
addFishRecordAPI
} from "@/api/aquatic.js"
import uplodeImg from "@/utils/uplodeImg.js"
const actionList = reactive([])
const options1 = reactive([{
text: '删除'
}])
@ -243,15 +256,26 @@
], )
const confirmFn = (e) => {
showPicker.value = false
formData.select = e.value[0]
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) => {
land_id.value = options.land_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({
type: options.type
}).then(res => {
@ -260,45 +284,107 @@
}
})
})
const showPop = ref(false)
const formData = reactive({
text: "",
select: "",
pic: "",
serch: ""
const getAcyionListFn = () => {
actionList.splice(0, actionList.length)
landCropRecordListAPI({
crop_id: crop_id.value
}).then(res => {
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) => {
uni.navigateTo({
url
})
}
const del = (index) => {
showModal.value = true
delIndex.value = index
}
const showModal = ref(false)
const delFn = () => {
showModal.value = false
uni.showToast({
title: '删除成功',
icon: 'success',
duration: 1000
delLandCropRecordAPI({
record_id: delIndex.value
}).then(res => {
getAcyionListFn()
})
}
const editFn = (item) => {
delIndex.value = item.id
showPopFn(item.action_id)
objFn(item.action_content, formData)
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)
@ -308,20 +394,61 @@
res.data.forEach(item => {
popList.push(item)
if (item.type == 4) {
columns[0] = Array.from(item.options)
console.log(columns[0])
columns[0] = item.options.split(',')
// console.log()
}
})
// console.log(popList)
})
}
const updateImgFn = () => {
const updateImgFn = (tit) => {
// const title = tit
change3(tit)
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>
<style lang="scss" scoped>
@ -403,6 +530,12 @@
display: flex;
justify-content: space-between;
margin-bottom: 20rpx;
flex-wrap: wrap;
.fertilize-li-a {
margin-bottom: 20rpx;
min-width: 40vw;
}
}
}

View File

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

View File

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

View File

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