|
@@ -8,10 +8,24 @@
|
|
|
</template>
|
|
</template>
|
|
|
<div class="type-list">
|
|
<div class="type-list">
|
|
|
<div class="grid grid-cols-2 gap-4">
|
|
<div class="grid grid-cols-2 gap-4">
|
|
|
- <div v-for="(item, index) in typeList" :key="index" class="type-list-item" @click="typeClick(item)">
|
|
|
|
|
|
|
+ <div v-for="(item, index) in typeList" :key="index" class="type-list-item">
|
|
|
<div class="flex items-center justify-between">
|
|
<div class="flex items-center justify-between">
|
|
|
- <span @click="typeClick(item)">{{ item.dictValue }}</span>
|
|
|
|
|
- <HcIcon v-del-com:[deleteType]="item" name="close" class="cursor-pointer text-2xl text-red" @click.stop />
|
|
|
|
|
|
|
+ <span v-if="!item.isEditing" @click="typeClick(item)">{{ item.dictValue }}</span>
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-else
|
|
|
|
|
+ v-model="item.dictValue"
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ class="w-32"
|
|
|
|
|
+ />
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <HcIcon
|
|
|
|
|
+ v-loading="saveEditLoading"
|
|
|
|
|
+ :name="item.isEditing ? 'save' : 'edit'"
|
|
|
|
|
+ class="ml-2 cursor-pointer text-xl text-blue-500"
|
|
|
|
|
+ @click.stop="item.isEditing ? saveEdit(item) : startEdit(item)"
|
|
|
|
|
+ />
|
|
|
|
|
+ <HcIcon v-del-com:[deleteType]="item" name="close" class="cursor-pointer text-2xl text-red" @click.stop />
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -121,6 +135,30 @@ const modalSave = async () => {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
const formRef = ref(null)
|
|
const formRef = ref(null)
|
|
|
|
|
+
|
|
|
|
|
+const startEdit = (item) => {
|
|
|
|
|
+ item.isEditing = true
|
|
|
|
|
+}
|
|
|
|
|
+const saveEditLoading = ref(false)
|
|
|
|
|
+const saveEdit = async (item) => {
|
|
|
|
|
+ saveEditLoading.value = true
|
|
|
|
|
+ const { error, code, msg } = await submit({
|
|
|
|
|
+ dictValue:item.dictValue,
|
|
|
|
|
+ code:'ibaProjectType',
|
|
|
|
|
+ systemType:2,
|
|
|
|
|
+ parentId:1,
|
|
|
|
|
+ id:item.id,
|
|
|
|
|
+
|
|
|
|
|
+ })
|
|
|
|
|
+ //判断状态
|
|
|
|
|
+ saveEditLoading.value = false
|
|
|
|
|
+ if (!error && code === 200) {
|
|
|
|
|
+ window?.$message?.success(msg)
|
|
|
|
|
+
|
|
|
|
|
+ getTypeListData(1, 'ibaProjectType')
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
const typeClick = async (item) => {
|
|
const typeClick = async (item) => {
|
|
|
console.log(item)
|
|
console.log(item)
|
|
|
dealForm.value = deepClone(item)
|
|
dealForm.value = deepClone(item)
|