|
@@ -27,27 +27,26 @@
|
|
label="项目名称"
|
|
label="项目名称"
|
|
name="project_name"
|
|
name="project_name"
|
|
class="formItem"
|
|
class="formItem"
|
|
- v-if="!project_id"
|
|
|
|
>
|
|
>
|
|
<picker
|
|
<picker
|
|
- @change="selectProjectList"
|
|
|
|
|
|
+ @change="(e) => selectProject(item.key, e)"
|
|
:range="projectList"
|
|
:range="projectList"
|
|
- :range-key="'name'"
|
|
|
|
|
|
+ range-key="Name"
|
|
>
|
|
>
|
|
- <!-- <view class="select" v-if="formData.industry">
|
|
|
|
- {{ `${formData.industry.name}(${formData.industry.code})` }}
|
|
|
|
- </view> -->
|
|
|
|
- <view class="selectPlaceholder">请选择项目</view>
|
|
|
|
|
|
+ <view class="select" v-if="item.project_name">
|
|
|
|
+ {{ item.project_name }}
|
|
|
|
+ </view>
|
|
|
|
+ <view class="selectPlaceholder" v-else>请选择项目</view>
|
|
</picker>
|
|
</picker>
|
|
</uni-forms-item>
|
|
</uni-forms-item>
|
|
<uni-forms-item
|
|
<uni-forms-item
|
|
required
|
|
required
|
|
label="日志概述"
|
|
label="日志概述"
|
|
- name="project_name"
|
|
|
|
|
|
+ name="title"
|
|
class="formItem"
|
|
class="formItem"
|
|
>
|
|
>
|
|
<input
|
|
<input
|
|
- v-model="formData.project_name"
|
|
|
|
|
|
+ v-model="item.title"
|
|
class="input"
|
|
class="input"
|
|
placeholder="请输入日志概述"
|
|
placeholder="请输入日志概述"
|
|
/>
|
|
/>
|
|
@@ -55,31 +54,41 @@
|
|
<uni-forms-item
|
|
<uni-forms-item
|
|
required
|
|
required
|
|
label="日志详情"
|
|
label="日志详情"
|
|
- name="project_name"
|
|
|
|
|
|
+ name="content"
|
|
class="formItem"
|
|
class="formItem"
|
|
>
|
|
>
|
|
- <textarea class="textarea" placeholder="请输入日志详情" />
|
|
|
|
|
|
+ <textarea
|
|
|
|
+ v-model="item.content"
|
|
|
|
+ class="textarea"
|
|
|
|
+ placeholder="请输入日志详情"
|
|
|
|
+ />
|
|
</uni-forms-item>
|
|
</uni-forms-item>
|
|
</view>
|
|
</view>
|
|
</uni-forms>
|
|
</uni-forms>
|
|
<view class="btn-add" @click="addFormData">+ 新增</view>
|
|
<view class="btn-add" @click="addFormData">+ 新增</view>
|
|
</view>
|
|
</view>
|
|
- <view class="button">提 交</view>
|
|
|
|
|
|
+ <view class="button" @click="submit">提 交</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
|
+import { createDaily } from "@/services/daily";
|
|
|
|
+import { mapState } from "vuex";
|
|
export default {
|
|
export default {
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
scrollTop: 0,
|
|
scrollTop: 0,
|
|
- projectList: [],
|
|
|
|
- project_id: '',
|
|
|
|
|
|
+ // projectList: [],
|
|
|
|
+ project_id: "",
|
|
|
|
+ log_id: "",
|
|
formData: [
|
|
formData: [
|
|
{
|
|
{
|
|
key: +new Date(),
|
|
key: +new Date(),
|
|
project_name: "",
|
|
project_name: "",
|
|
|
|
+ code_id: "",
|
|
|
|
+ title: "",
|
|
|
|
+ content: "",
|
|
},
|
|
},
|
|
],
|
|
],
|
|
rules: {
|
|
rules: {
|
|
@@ -95,13 +104,27 @@ export default {
|
|
};
|
|
};
|
|
},
|
|
},
|
|
onLoad(options) {
|
|
onLoad(options) {
|
|
- this.project_id = options.project_id;
|
|
|
|
|
|
+ if (options.id) {
|
|
|
|
+ this.initDate();
|
|
|
|
+ }
|
|
|
|
+ this.log_id = options.id;
|
|
|
|
+ },
|
|
|
|
+ computed: {
|
|
|
|
+ ...mapState(["projectList"]),
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- selectProjectList(e) {
|
|
|
|
- // this.formData.version = e.target.value + 1;
|
|
|
|
- // this.formData.code.version = this.formData.version + "";
|
|
|
|
- // this.binddata("version", e.target.value);
|
|
|
|
|
|
+ selectProject(key, e) {
|
|
|
|
+ const select = this.projectList[e.target.value];
|
|
|
|
+ const idx = this.formData.findIndex((item) => item.key == key);
|
|
|
|
+ const item = this.formData[idx];
|
|
|
|
+ const resultData = JSON.parse(JSON.stringify(this.formData));
|
|
|
|
+ resultData[idx] = {
|
|
|
|
+ ...item,
|
|
|
|
+ code_id: select.ID,
|
|
|
|
+ project_name: select.Name,
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ this.formData = resultData;
|
|
},
|
|
},
|
|
addFormData() {
|
|
addFormData() {
|
|
this.formData.push({
|
|
this.formData.push({
|
|
@@ -113,6 +136,17 @@ export default {
|
|
let index = this.formData.findIndex((item) => item.key == key);
|
|
let index = this.formData.findIndex((item) => item.key == key);
|
|
this.formData.splice(index, 1);
|
|
this.formData.splice(index, 1);
|
|
},
|
|
},
|
|
|
|
+ async submit() {
|
|
|
|
+ await createDaily(this.formData);
|
|
|
|
+ uni.showToast({
|
|
|
|
+ title: "添加成功",
|
|
|
|
+ });
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ uni.hideToast();
|
|
|
|
+ uni.navigateBack();
|
|
|
|
+ }, 1800);
|
|
|
|
+ },
|
|
|
|
+ async initDate() {},
|
|
},
|
|
},
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
@@ -137,6 +171,10 @@ export default {
|
|
.forms {
|
|
.forms {
|
|
padding: 40rpx 34rpx;
|
|
padding: 40rpx 34rpx;
|
|
padding-top: 168rpx;
|
|
padding-top: 168rpx;
|
|
|
|
+ .titleContent {
|
|
|
|
+ display: flex;
|
|
|
|
+ justify-content: space-between;
|
|
|
|
+ }
|
|
.title2 {
|
|
.title2 {
|
|
font-size: 28rpx;
|
|
font-size: 28rpx;
|
|
font-weight: 400;
|
|
font-weight: 400;
|
|
@@ -145,6 +183,7 @@ export default {
|
|
padding-bottom: 18rpx;
|
|
padding-bottom: 18rpx;
|
|
border-bottom: 1px solid #e8e8e8;
|
|
border-bottom: 1px solid #e8e8e8;
|
|
}
|
|
}
|
|
|
|
+
|
|
.title-sub {
|
|
.title-sub {
|
|
font-size: 28rpx;
|
|
font-size: 28rpx;
|
|
font-weight: 400;
|
|
font-weight: 400;
|